python中 while循环

while循环

相比于for循环,while循环就显得简单很多了,先看一下定义格式:

while 条件:
	条件成立后需要执行的代码块..
	...

简单的案例,从1加到100:

i = 1
temp = 0
while i<= 100:
	temp += i
	i += 1
print(temp)

执行结果:

5050

while 循环只要条件成立就可以一直执行while下缩进的代码块,如果条件设置为 True 并且没有退出的条件, 程序便会陷入死循环,除非必要,否则我们应该避免程序陷入死循环....

有时候可能是没有办法判断判断循环的次数,比如玩游戏的时候需要判断玩家操作出错,或者血条没有血才判断游戏结束,退出循环

while循环还有两个非常重要的命令,continue 和 break。 continue用与跳过循环中的这次,循环本身不结束,只是跳过执行到continue的这一次循环,而break是直接退出循环。

continue:

i = 0
temp = 0

while i<100:
    i += 1
    if i == 50:
        continue  # 当i加到50的时候跳过 continue 后面所有的代码块,不在执行。进入下一次循环.
    temp += i

print(temp)

结果就是跳过加50的一次:

5000

break:

i = 0
temp = 0

while i < 100:
    i += 1
    if i == 51:
        break # 当i加到51的时候退出整个循环
    temp += i

print(temp)

结果就是从1加到50:

1275
来做一个猜数字的小游戏:
# -*- coding:gbk -*-
import sys
from random import randint  # 导入随机整数模块

print("*" * 60)
print("猜数字游戏v1.0".center(60))  # 让字符串居中在60个字符中
while True:
    randnum = input("请输入一个最大范围值:")
    randnum = randint(0,int(randnum))  # 随进产生一个从0到50之间的整数
    print("数字随机生成成功!")
    while True:

        guess_num_str = input("猜猜数字是多少?:")
        guess_num = int(guess_num_str)
        if guess_num > randnum:
            print("猜大了")
        elif guess_num < randnum:
            print("猜小了")
        elif guess_num == randnum:
            print("恭喜你,答对了!!!")
            quit = input("再来一局?(y/n):")
            if quit.lower() == "y":
                break  # 退出内层循环,执行外层循环
            elif quit.lower() == "n":
                sys.exit()  

执行效果:

************************************************************
                         猜数字游戏v1.0
请输入一个最大范围值:60
数字随机生成成功!
猜猜数字是多少?:30
猜小了
猜猜数字是多少?:45
猜大了
猜猜数字是多少?:40
猜大了
猜猜数字是多少?:35
猜小了
猜猜数字是多少?:38
恭喜你,答对了!!!
再来一局?(y/n):y
请输入一个最大范围值:70
数字随机生成成功!
猜猜数字是多少?:35
猜大了
猜猜数字是多少?:18
猜小了
猜猜数字是多少?:25
猜小了
猜猜数字是多少?:28
猜小了
猜猜数字是多少?:29
猜小了
猜猜数字是多少?:30
猜小了
猜猜数字是多少?:33
恭喜你,答对了!!!
再来一局?(y/n):n

D:\Program Files\excrsice>

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值