Python菜鸟学习手册05----控制流

在到目前为止我们所见到的程序中,总是有一系列的语句,Python忠实地按照它们的顺序执行它们。如果你想要改变语句流的执行顺序,该怎么办呢?例如,你想要让程序做一些决定,根据不同的情况做不同的事情,例如根据时间打印“早上好”或者“晚上好”。

类似java语言,Python中有三种控制结构——三种控制流语句——if、for和while。

1.if

if主要用于条件判断。

1.1 if结构

i = 1
x = 1
if i > 0:                        #注意后面的冒号必不可少!
    x = x+1                      #必须输入四个空格的缩进表示隶属关系!
print x

1.2 if-elif-else 结构

<pre name="code" class="python">a = input("a:")                  #这条语句的作用是在屏幕显示“a:”,并等待用户输值赋给a。
b = input("b:")
if(a > b):
    print (a, " 大于 ", b)
    print("显示1")
elif(a==b):                      #elif类似java中的else if,但要注意在末尾的冒号!
    print(a,"等于",b)
    print("显示2")
else:                            #注意末尾的冒号!
    print(a,"小于",b)
    print("显示3")
print("显示4")

这里有三个块,分别属于if, elif, else引领。Python检测条件,如果发现if的条件为假,那么跳过后面紧跟的块,检测下一个elif的条件; 如果还是假,那么执行else块。通过上面的结构将程序分出三个分支。程序根据条件,只执行三个分支中的一个。

1.3 if的嵌套使用

a = input("a:")
b = input("b:")
c = input("c:")
if(a > b):
    print (a,"大于",b)
    if(a>c):                    #注意这里的的if需要缩进,因为该if隶属于if(a>b)
        print(a,"大于",c)
    else:
        print(a,"小于",c)       #注意这里的if应该与if(a>c)缩进相同
       

2.while

给出一个while循环终止条件。  下例循环打印1到100

a=0
while a<100:
    a+=1                     #Python没有i++的写法
    print(a)<pre name="code" class="python">

else:

print("循环结束")



3.for

for循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次。

student2=["王尼玛","男",22,["脑袋大","脖子短","屁股圆"]]
for a in student2:                                                   #循环次数为列表student2中元素的个数。  注意末尾的引号
    print(a)<span style="white-space:pre">							</span>     #循环结构同样需要缩进

因为迭代(也就是循环)某范围的数字非常常见,所以有个内建的范围函数提供使用——range()

list(range(10))                                                      #建立一个从0到9的列表(range()生成的是<span style="font-size:10px;"><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 24px;">iterator对象。list()的作用是转换成列表</span>)</span>
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

我们可以这样使用range()函数

for a in range(1,101):                                               #对while中的事例进行改造,打印1到100的数字
    print(a)
 list(range(1,100,3))                                                #生成从1到100间的数,步长为3
[1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46, 49, 52, 55, 58, 61, 64, 67, 70, 73, 76, 79, 82, 85, 88, 91, 94, 97]
list(range(99,1,-3))                                                 #1到100间的数字,逆向排列
[99, 96, 93, 90, 87, 84, 81, 78, 75, 72, 69, 66, 63, 60, 57, 54, 51, 48, 45, 42, 39, 36, 33, 30, 27, 24, 21, 18, 15, 12, 9, 6, 3]

轻量级循环

 [x*x for x in range(10)]                                            #生成一个简单的
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

4.中断循环

break——跳出循环

continue——跳出本次命令的之行,继续下一次循环

nameList=["王二小","王小明","小红","小刚","寒梅梅","王尼玛","李磊"]
for name in nameList:
    if name=="王尼玛":
        print("凶手找到啦!")
        break
print(name)

输出为王尼玛

nameList=["王二小","王小明","小红","小刚","寒梅梅","王尼玛","李磊"]
for name in nameList:
    if name=="王尼玛":
        print("凶手找到啦!")
        continue
print(name)

输出为李磊

5.注意

1.Python的缩进

空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。 这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。我们将在后面的章节中看到有关块的用处的例子。 你需要记住的一样东西是错误的缩进会引发错误。

2.if格式

if  <条件1>:

statement

elif <条件2>:

statement

elif <条件3>:

statement

else:

statement

3.while格式

while<条件>:

statement

else:

statement

4.for格式

for 变量 in <对象集合>:

5.Python的while可以写else!

时间: 2024-12-11 10:29:15

Python菜鸟学习手册05----控制流的相关文章

Python菜鸟学习手册12----循环对象

什么是循环对象 循环对象是这样一个对象,它包含有一个next()方法(__next__()方法,在python 3x中), 这个方法的目的是进行到下一个结果,而在结束一系列结果之后,举出StopIteration错误. 当一个循环结构(比如for)调用循环对象时,它就会每次循环的时候调用next()方法,直到StopIteration出现,for循环接收到,就知道循环已经结束,停止调用next(). 假设我们有一个test.txt的文件: 1234 abcd efg 我们运行一下python命令

Python菜鸟学习手册11----异常处理

介绍 在项目开发中,异常处理是不可或缺的.异常处理帮助人们debug,通过更加丰富的信息,让人们更容易找到bug的所在.异常处理还可以提高程序的容错性. >>> 1/0 Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> 1/0 ZeroDivisionError: division by zero 上例中输入一除以零触发ZeroDivisionE

Python菜鸟学习手册10----文件的输入与输出

文本文件的读写主要通过open()所构建的文件对象来实现. 基本格式 f = open(文件名,模式) 最常用的模式有: "r"       # 只读 "w"     # 写入                                                               ---->如果文件中已经有内容,会把内容抹掉,如果不存在该文件,会新建文件 "a"      #追加模式                  

Python菜鸟学习手册15----多线程

线程与进程 程序相当于工厂,进程相当于车间,线程相当于工人.在一个工厂中往往有多个车间,在一个车间上有多个工人并行工作. 同车间上的工人共享房间,但是有些房间一次只能容纳一个人,比如厕所.在厕所里有人的时候,其他人不能进入.一个防止他人进入的简单方法,就是门口加一把锁.先到的人锁上门,后到的人看到上锁,就在门口排队,等锁打开再进去.这就叫"互斥锁"(Mutual exclusion,缩写 Mutex). 还有些房间,可以同时容纳n个人,如果人数大于n,多出来的人只能在外面等着.这时的解

Python菜鸟学习手册06----函数

1.简介 函数是重用的程序段.它们允许你给一块语句一个名称,然后你可以在你的程序的任何地方使用这个名称任意多次地运行这个语句块.这被称为调用函数.我们已经使用了许多内建的函数,比如input()和range(). 2.函数的定义和调用 函数通过def关键字定义.def关键字后跟一个函数的标识符名称,然后跟一对圆括号.圆括号之中可以包括一些变量名,该行以冒号结尾.接下来是一块语句,它们是函数体. def sayHi():<span style="white-space:pre"&g

head first python菜鸟学习笔记(第三章)

1.os.chdir()切换到指定目录下,os.getcwd(),得到当前目录. >>> import os>>> os.chdir('D:\\CodeDocuments\\python code\\python head first code\\03chapter3')>>> os.getcwd()'D:\\CodeDocuments\\python code\\python head first code\\03chapter3' 2.print(

head first python菜鸟学习笔记(第四章)

1,p124,错误:NameError: name 'print_lol' is not defined 要想文件内如图显示,需要把调用BIF print()改为调用第二章的nester模块中的print_lol()函数,因此需要导入nester模块. 首先需要修改第二章nester模块中的print_lol()函数并更新该模块,更新方法如图: 然后在sketch.py中调用print_lol()函数. 1 ''' 2 修改时间:0919 3 修改内容:把调用BIF print()改为调用第二章

Python菜鸟教程全目录

写在前面的话 由于工头的要求,小挨很不情愿的接触了Python. 但是随着对Python学习的深入,小挨发现已经逐渐喜欢上了这个简约的语言!但是小挨脑子笨.技术功底差.忘性强,急切的需要一个做学习笔记的好地方.由于CSDN人气旺.大牛多,于是就选择在CSDN定居.但是随着笔记越记越多,平时复习查找知识也变得越来越麻烦,还是创建一个目录对文章整理一下吧! PS:在学习Python的的过程中,小挨遇到了种种问题,感谢Vamei和沈洁元的文章使我快速入门. Python基础 python菜鸟学习手册0

《Python学习手册 第五版》 -第11章 赋值、表达式和打印

上一章对Python的语句和语法已经进行了基本的说明,接下来就是每个章节的详细说明,本章的主要内容就是标题中涵盖的三点:赋值语句.表达式语句.打印语句 本章重点内容如下: 1.赋值语句 1)赋值语句的特点(注意事项) 2)赋值语句的形式:基本形式.元组及列表解包赋值.序列赋值.扩展的序列解包.多目标赋值.增量赋值 3)变量命名规则 2.表达式语句 1)常见的表达式语句 2)表达式语句和原位置修改 3.打印操作 1)调用形式 2)应用示例 以下是针对以上重点内容的详细说明 1.赋值语句 1)赋值语