|
|
发表于 2019-5-1 22:44:59
From FishC Mobile
|
显示全部楼层
|阅读模式
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
下面代码
import random
yes = random.randint(1,10)
guess = 0
ls = 0
print("欢迎来到猜数字小游戏!")
print("答案在1~10之间!")
print("你只有三次机会哦!")
while (guess != yes) and (ls < 3):
guess = int(input("请输入一个数字"))
if guess == yes:
print('恭喜你,答对了')
elif guess > yes:
print('哎呀,大了大了')
elif guess < yes:
print('哎呀,小了小了')
ls = ls + 1
if ls == 3:
print ('超过三次啦,不和你玩了')
问题是倒数第二行代码吗?还是Is = Is +1的位置?可Is = Is +1放到大了下面,数字小了就没有限制了,这咋整啊?新人初学第二天。
本帖最后由 jackz007 于 2019-5-1 23:30 编辑
其原因是这些代码逻辑有问题,猜对和猜错其实就是 if 和 else 的问题,猜错以后,也是 if 猜大 和 else 的问题,没有那么多的 elif
- if guess == yes:
- print('恭喜你,答对了')
- elif guess > yes:
- print('哎呀,大了大了')
- elif guess < yes:
- print('哎呀,小了小了')
- ls = ls + 1
- if ls == 3:
- print ('超过三次啦,不和你玩了')
复制代码
应该改成这样
- if guess == yes: # 如果猜对
- print('恭喜你,答对了')
- else: # 否则
- ls += 1 # 错误计数加 1
- if ls < 3: # 如果错误次数少于 3 次就显示提示信息,否则,就要退出循环了,提示就没有意义了
- if guess > yes: # 如果猜大了
- print('哎呀,大了大了')
- else: 否则
- print('哎呀,小了小了')
- else: # 猜错次数已经达到了 3 次,
- print ('超过三次啦,不和你玩了')
复制代码
|
|