条件判断和循环是流程控制的主要组成部分,也是我们日常编码过程的比较常用到的功能。
1.条件判断
Python程序中,用if语句做条件判断,if后面跟 空格+条件判断语句+冒号,换行后缩进写入条件判断为True时执行逻辑内容,可以使用elif做多重条件判断,也可以用else做条件判断都为False时的补充处理。
示例1:
条件判断一般存在多行,使用文件执行的方式更加方便也容易理解。
在E:\目录下新建test.py python文件,用文本编辑器打开后,编辑文件,输入第一个条件判断语句。语法如下:
if 条件判断:
条件判断为True时执行内容
elif 条件判断:
条件判断为True时执行内容
….
else:
上面条件判断都为False时执行内容
num = 1
if num>0:
print("is positive number")
elif num<0:
print("is negative number")
else:
print("is zero")
打开cmd命令行,进入E:/目录后执行python test.py,控制台输出is positive number。
说明通过第一个条件判断num>0后返回True,并执行了print(“is positive number”)语句。
示例2:
我们把上一个示例中的test.py文件中num = 1,修改为num = -1,保存后执行,输出is negative number。这个程序执行时,先判断num>0,返回了False,没有执行接下来的print语句;然后继续判断了num<0,返回True,执行了print(“is negative number”)。
同样,我们把num = -1,修改为num = 0,保存后执行,输出is zero。执行时,先判断num>0,返回了False,没有执行接下来的print语句;然后判断num<0,返回了False,也没有执行接下来的print语句;最后输出了else后的print语句。说明else中的代码块只有在前面的条件判断都为False时才执行。
示例3:
把test.py文件修改为:
num = 1
if num>0:
print("is positive number")
elif num>0:
print("is too positive number")
else:
print("is zero")
理论上应该输出“is positive number ”和“is too positive number”。执行python test.py后输出“is positive number”。在if…elif条件判断语句中,如果前面的判断为True,后面的条件判断都不会执行了。所以就算条件判断其实都为True,其实执行的的也只有第一个判断为True的代码块。
示例4:
也可以使用if判断变量是否为空,如果不为空(非0,非字符串,非空)返回True,否则返回False。
if a:
print('True')
2.循环
python循环包括for循环和while循环。
- for循环
for…in循环,依次把list或tuple中的每个元素迭代出来。
基本语法
val = 'abcde'
for tmp in val:
print(tmp)
list = ['ba','cd','xx',1]
for tmp in list:
print(tmp)
输出“a\n b\n c\n d\n e\n ba\n cd\n xx\n 1\n”。
break和continue
break用于中止循环,执行完后不会执行后续循环了,会跳出循环语句后执行循环外后面的其他语句。
continue用于跳出当前循环,还是会继续执行下面的循环语句的。
for num in range(20):
if num>3 and num<6:
continue
elif num>9:
break
print(num)
输出:“0\n 1\n 2\n 3\n 6\n 7\n 8\n 9\n”。当num>3并且num<6时,执行了continue,跳出了当前循环,并没有执行打印语句;当num>9时,执行了break,中止了循环,后面的元素全没打印了。
for…else
else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行。
下面语句第一个会执行print(“for is not break”),而第二个不会执行
for num in range(2):
print(num)
else:
print("for is not break")
for num in range(2):
if num==1:
break;
print(num)
else:
print("for is not break")
- while循环
while循环在某条件下,循环执行某段程序,以处理需要重复处理的相同任务,直至条件不成立。语法如下:
while 条件判断:
执行语句
num = 0;
while num<4:
print(num)
num = num +1
continue、break、else的用法参考for。