python流程控制

计算机软件在解决某个问题时,有三种执行方式。分别为顺序执行、选择执行、循环执行。这对应程序设计结构中的三种程序结构执行流程:顺序结构、选择结构和循环结构。

一 顺序结构

执行总是从程序的第一行开始。从上至下,按顺序,每次执行一条语句。

函数定义并不会改变程序的执行流程,但应注意函数体中的语句并不会立即执行,而是等到函数被调用时被执行。函数调用可以看作程序执行流程的一个迂回路径。遇到函数调用时,并不会直接继续执行下一条语句,而是跳到函数的第一行,先执行完函数体的所有语句,再跳回到原来离开的地方。

二 选择结构

程序为了应对不同的条件而需要选择的执行某些代码块,条件语句给了程序这种可能。最简单的就是if表达式。

# 判断x与y的大小关系
if x>y:
    print('x比y大')
elif x<y:
    print('x比y小')
else:
    print('x和y一样大')

if之后的布尔表达式称为条件,如果为真,则之后的缩进的代码块会被执行。如果为假,则继续判断之后的布尔表达式,如果也为假,则执行else后缩进的代码块。

if语句里面也能嵌套if语句。

# if嵌套if语句 判断x,y,z的最大值
if x>y:
    if x>z:
        print('最大值为x')
    else:
        print('最大值为z')
else:
    if y>z:
        print('最大值为y')
    else:
        print('最大值为z')

三 循环结构

循环结构在每种编程语言里面都是很重要的一种执行结构。在 python中也不例外。

循环结构分为两种:for循环结构和while循环结构

1 while循环结构

while又称为条件循环,循环的次数取决于条件。

# 简单的while循环
while True:
    print('这是个死循环')

运行这段代码,则控制器会不停的打印‘这是个死循环’,这种循环需要有退出程序的条件,比如把True改成False。

# 简单的判断循环,判断三次后退出程序
count = 0
while True:
    if count == 3:
        print('输错三次了,请半小时后重试')
        break
    name = input('请输入你的名字:')
    pwd = input('请输入你的密码:')
    if name == 'zz' and pwd == ' password':
        print('login successful')
        break
    else:
        print('login msg false')
        count += 1

为了更便捷的控制while循环,可以给while一个标记变量,当需要退出循环时就把标记改为False。

# 标记控制while循环
AGE = 18
tag = True
while tag:
    count = 0
    while tag:
        count += 1
        if count == 4:
            break
        age = int(input('请输入你猜的年龄:\n'))
        if age == 18:
            print('恭喜你猜对了')
            tag = False
        elif age < 18:
            print('年龄猜小了')
        else:
            print('年龄猜大了')
    b = input('是否想继续玩下去:')
    if b in ['Y', 'y']:
        tag = True
    else:
        break

2 for循环结构

for循环也是python中很重要的循环结构,但是没有while使用广泛,for循环结构常用在循环取值中。比如取出容器中的每一个对象,如list、dict、tuple、set、str。

# for循环取值
lis = [1,2,3,4]
for i in list:
    print(i)

dic = {'a':'123','b':'234','c':'345'}
for i in dic:
    print(i,dic[i])

3 continue、break、else

while+continue

# while+continue
while+continue:continue # 代表结束本次循环,直接进入下一次
count=1
while count < 6:
    if count ==  4:
        count+=1
        continue # 只能在cotinue同一级别之前加代码
    print(count)
    count+=1

while+else

# while+else
count=1
while count < 6:
    if count == 4:
        break
    print(count)
    count+=1
else:
    print('会在while循环没有被break终止的情况下执行')

while+break

当条件符合时,break会跳出当层循环,继续运行和while同等级的代码

posted @ 2018-09-14 16:46  rsuxwvilc  阅读(129)  评论(0编辑  收藏  举报