循环(while、for)

ぃ、小莉子 提交于 2020-02-14 17:48:29

写重复的代码是程序员最不耻的行为,那么如何做到不用写重复代码又能让程序重复一段代码多次呢,循环语句就派上用场拉……

一、while 循环

# while 语法结构
while 条件:
    执行代码.....
#来写个从0打印到100的小程序,每循环一次,+1+
count = 0
while count <= 100: #只需要count<=100,就执行不断执行下面代码
    print("第%s次循环"%count)
    count += 1  #每执行一次,就把count+1,否则就会变成死循环,如果count不加1,那么count就一直是0


#执行结果:

第0次循环
第1次循环
第2次循环
第3次循环
第4次循环
………………
………………
第100次循环

 

# 再做个练习吧,打印0-100的偶数
num = 0
while num <= 100:
    if num % 2 == 0:
        print("%s"%num,end="  ")
    num += 1
print("")
print ("-----loop is ended-----")

# 执行结果
0  2  4  6  8  10  12  14  16  18  20  22  24  26  28  30  32  34  36  38  40  42  44  46  48  50  52  54  56  58  60  62  64  66  68  70  72  74  76  78  80  82  84  86  88  90  92  94  96  98  100  
-----loop is ended-----

break 与continue 

下面我们来看看continue的效果吧……

# 打印1-10,第5次跳过不打印
count = 0
while count <= 10:
    count += 1
    if count == 5:
        continue    #当count=5时,结束本次循环,不打印loop 5,直接下一次循环
    print ("loop ",count)

print("----end------")

#执行结果
loop  1
loop  2
loop  3
loop  4
loop  6
loop  7
loop  8
loop  9
loop  10
----end------

 接下来在看看break的效果,与continue有什么不同……

# 打印1-10,第5次结果循环体
count = 0
while count < 10:
    count += 1
    if count == 5:
        break    #当count=5时,结束循环体
    print ("loop ",count)

print("----end------")

#执行结果:
loop  1
loop  2
loop  3
loop  4
----end------

来个小练习:优化猜年龄游戏,允许用户最多猜3次,猜了三次后,再问用户是否还想玩,如果用户选择y,则允许在猜三次,否则游戏终止

# 优化猜年龄游戏,允许用户最多猜3次,猜了三次后,再问用户是否还想玩,如果用户选择y,则允许在猜三次,否则游戏终止
age = 25
count = 0
while count < 3:
    age_input = int(input("将你猜的年龄输入:"))
    if age_input == age:
        print("恭喜你猜对了")
        break
    elif age_input > age:
        print("猜大了")
    else:
        print("猜小了")
    count += 1
    if count == 3:
        choice = input("没猜,游戏是否继续,y/n?:")
        if choice == "y" or choice == "Y":
            count = 0 #初始化count,循环条件则为真,进入循环
        else:
            print("游戏结束,欢迎下次光临!")

while...else

与其它语言else一般只与if搭配不同,在python中还有个while....else语句

while后面的else作用是指,当while循环正常执行完,中间没有被 break中止的话,就会执行else后面的语句

# while ....else 判断程序中间否中止过(break)
count = 0
while count < 5:
    print ("loop ",count)
    if count == 3:
        break
    count += 1
else:   # 中间有被break过将不会被执行else代码块
    print("out of loop")

# 执行结果
loop  0
loop  1
loop  2
loop  3

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!