|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这段时间复习这个个题,我自己又打了一遍但是发现出现了一个问题,我输入错误一次后输入正确代码可以正常运行,但是输入错误两次在输入一次正确答案 代码就不会正常运行。
代码如下:
import random
com_num=random.randint(1,9)
user_num=input('输入数字')
temp=user_num.isdigit()
while temp==0:
user_num=input('输入正确类型')
temp=user_num.isdigit()
user_num=int(user_num)
chance=2
while chance:
if user_num==com_num:
print('猜测正确')
break
if user_num>=com_num:
print('比系统值大',user_num-com_num)
if user_num<=com_num:
print('比系统值小',com_num-user_num)
print('您还有',chance,'次机会')
user_num=input('错误,重新新输入')
temp=user_num.isdigit()
while temp==0:
user_num=input('输入正确类型')
temp=user_num.isdigit()
user_num=int(user_num)
chance-=1
if chance==0:
print('您没有机会了')
print('游戏结束')
运行代码如图所示
三次机会 第一次错误 然后输入正确后 我画红圈位置代码会正常运行
但是如果输入两次错误,最后一次正确,我画红圈位置代码不会运行
请问问题出在哪?
本帖最后由 逃兵 于 2021-2-17 13:26 编辑
第三次循环的时候chance=0了
不会再进入while循环了
直接到print('游戏结束')了
修改代码
- import random
- com_num=random.randint(1,9)
- user_num=input('输入数字')
- temp=user_num.isdigit()
- while temp==0:
- user_num=input('输入正确类型')
- temp=user_num.isdigit()
- user_num=int(user_num)
- chance=3
- while chance:
- chance-=1
- if user_num==com_num:
- print('猜测正确')
- break
- if user_num>=com_num:
- print('比系统值大',user_num-com_num)
- if user_num<=com_num:
- print('比系统值小',com_num-user_num)
-
- if chance==0:
- print('您没有机会了')
- break
- print('您还有',chance,'次机会')
- user_num=input('错误,重新新输入')
- temp=user_num.isdigit()
- while temp==0:
- user_num=input('输入正确类型')
- temp=user_num.isdigit()
- user_num=int(user_num)
- print('游戏结束')
复制代码
|
-
|