这篇来捋一捋python中的控制流语句
控制流语句:
(1):由条件和代码块组成,条件分为决策、循环和分支
(2):格式:冒号和4个空格永不忘
(3):if while for 函数,皆为控制流语句
例:
if True:#条件(冒号分割了条件和执行代码块。)
print(4)#执行代码块(缩进的4个空格,是代码块的开始)
if语句:
if语句:(条件语句)
if True:
print(‘4’)
elif not True:
print(‘3’)
else:
pass
相应伪代码:
假设 真:
执行假设真的代码块
假设假:
执行假设假的代码块
否则(不为真也不为假):
执行代码块
while语句:
(1)基本格式:
while expression:#条件值必须为bool值
statement(s)#执行代码块
(2)基本语句部分:
第1个部分:break,用于结束while循环。break与while成对
若不写会一直循环下去,直到内存溢出
第2个部分:continue,跳出当次循环,但不结束while
运行结果:会一直执行下去
解析:
x=1
while True:
x+=1
print(x)
continue#跳出当次循环
if x>20:
break
执行到continue语句后会跳出当次循环,从while true继续开始,下一轮x自加1操作后,又跳出当次循环,开始从while true执行,程序不会执行下一个if语句,所以直到内存溢出
第3个部分:else ,结束while以后执行
运行结果:没有执行end
解析:
因为else是执行完while语句后执行的。当遇到break语句,则跳出了整个while循环,包括else代码块,所以根本不会执行到print(‘end’)这个语句。
下面这个例子,把else放到了if对齐,则执行结果改变
运行结果是:每执行自加1输出后,都执行了一个print(‘end’)语句。输出了end
解析:
当x小于20的时候,并没有执行if语句,所以不会跳出循环,执行了else语句,(因为x小于20),会执行else这个分支。所以每个循环自+1后都有一个end输出。当x大于20 了,执行if语句,break跳出整个while循环。
else与continue的结合:
运行结果:执行到了print(‘end’)语句
所以总结如下:
else可以和continue使用,不能和break一同使用。break 是跳出for和while的大循环,continue跳出的是离得最近的for或者while循环
for语句:
(1)基本格式:
for item in terable:#terable必须是可迭代对象
statement(s)#代码块
(2)组成部分
break, continue,else
同while一样
for x in ‘i am xiaoming’:
print(x)
else:
print(x)
输出结果:x的值为g
for循环的最后一个迭代值将保留
else语句都可以和if,for,while循环搭配使用。
while语句的else与for语句的else的效果是一样的,都是:
循环中出现中跳出中断,则不执行else语句;如果执行完毕没有出现中断,则执行else语句
例子: