Python中有三种常用的控制流:
- if
- while
- for
另外 break 与continue也是经常使用
if 语句:
if是检验一个条件是否为真,如果为真,则运行if-块,否则运行else-块(可选)。
Python中的if语句与其他语言还是有很大区别的,如下:
if 表达式1 运算符 表达式2:
if-块
else
else-块
在if语句中,自然会有else if的用法,不过在Python中,else if 别简写为elif,我猜是缩进更方便,显得更美观-_-|;在Python中没有switch语句,if … else … 在很多时候就必须顶上去
while语句:
while 表达式1:
while-块
else:
else-块
while语句有一个可选的else块,当表达式1为False时,则执行else语句,需要注意的是如果在在while块中使用break语句来终止while循环,是不会执行else-块的,因为他是终止while循环的嘛,不是跳出while-块
综合if 和while举个小例子:
__author__ = 'zWX231671'
print('控制流 if and while')
number = 12
print('请输入一个数字:')
while True:
input_number = int(input())
if input_number == number:
print('number is', number)
break
elif input_number > number:
print('input is bigger than number')
print('请输入一个数字:')
else:
print('input is lower than number')
print('请输入一个数字:')
else:
print('while 有个一个可选的else选项,就是这个了,不写也ok.'
'不过在这个程序中是使用break来结束while的,else这段也不会执行')
for语句
这个与之前学过的java或者C++语言等还是有一些区别的,使用的是 for…in…的格式,有点类似java中 for(a : array)遍历数组集合一般;for语句中也是有一个可选的else-块
举个例子:
__author__ = 'zWX231671'
#range向上延伸到第二个值,但是他不包含第二个值,如 [1,5)
for a in range(1, 5):
print(a)
#range如果只有两个值,那么表示左右边界,如果有三个值,那么第三个值表示步长
for i in range(1, 5, 2):
print(i)
if i == 3:
# 使用break结束for循环语句,就不会执行else
break
else:
print('loop is over')
break和continue语句:
break是用来终止循环语句的,不论循环条件是否满足或者程序是否执行完,注意,如果while或者for语句之外有else-块,也是不会执行的。
continue是跳过当前循环后面的,继续执行下一次循环
写了个小例子,体会一下
__author__ = 'zWX231671'
while True:
info = input('Enter instruction...')
if info == 'quit':
break
if len(info) >= 3:
continue
print('instruction\'s length is longer than3')
else:
print('instruction\'s is not longer than 3')