python初识03-流程控制

流程控制方法的使用极大的增强了程序的执行能力,使得程序能像人一样,能够判断条件并根据结果来执行一系列任务。

流程控制包括 if判断、while循环和for循环。

1、if判断

我们先看一个用if判断写的猜数字游戏:

bkg_num = 18
guess = input("input a number >>>")
if guess != bkg_num:
    print("not this number")

if 是if判断的标志,在if后面加上判断条件,如果条件满足就执行if语句内的代码块。此外,if经常和elif,else连用。

elif用来连接多个条件的判断,而else上面的所有条件都不满足时,就会执行else下的代码块。

你可以尝试写一段判断成绩的代码,当输入分数时,会根据分数确定成绩等级:

score = input('your score>>: ')
score = int(score)
if score >= 90:
    print('优秀')
elif score >= 80:
    print('良好')
elif score >= 70:
    print('普通')
else:
    print('很差')

if判断还可以用来嵌套,在一个if语句的子代码块里再次使用if判断。

2、while 循环

if判断只能执行一次,如果想要多次执行一段代码,直到满足要求才停止,就需要用到while循环。

i = 0
while i < 5:
    print(i)
    i += 1

while后面是判断条件,当条件满足时(True),会执行子代码块,执行完子代码块时,会再次判断条件是否满足,如果满足,继续执行,如此循环。为了不让程序陷入死循环,通常会添加一段代码(比如 i+=1 这样的计数器)来控制循环。

你可以使用while循环来实现一个简化的登陆功能。

name_of_bk='xiaoli'
pwd_of_bk='123'

tag=True
count = 0
while tag:
    inp_name=input('your name>>: ')
    inp_pwd=input('your password>>: ')
    if inp_name == name_of_bk and inp_pwd == pwd_of_bk:
        print('login successful')
        tag=False
    else:
        print('username or password error')
        count+= 1
    if count == 3:
        tag = False

可以看到,代码中使用了变量count作为控制的变量,每次输入错误,count自增1,当count ==3 时,tag = False,while循环的条件就不满足了,从而终止循环。

终止循环还可以使用关键字break 和 continue,break会无条件终止其所在循环,并且放弃执行这个循环中break下方的代码,然后跳出这个循环。而 continue 会跳出本次循环,不执行本次循环中continue下方的代码,回到判断条件。

while True:
    num1 = int(input("give me a number>>>"))
    if num1 < 5:
        print("被break终止")
        break
    else:
        print("遇到了continue")
        continue

与其他语言不同的是,while循环后也可以加else,当while语句正常执行完,没有被break,就会执行else里的语句。

while循环也能嵌套,用while循环打印一个下图所示的金字塔:

row = 1
while row <6:
    rank = 0
    while rank<(5-row):
        print(" ",end="")
        rank+=1
    print("*"*(2*row-1))
    row+=1

while循环还可以打印杨辉三角,斐波那契数列等,请自行尝试。

猜你喜欢

转载自www.cnblogs.com/guyanzhi/p/9989551.html