|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这是python自学视频上的题目
随机生成一个数,再输入一个数,两数作比较,
输入的数大,提示你猜得数字大了
输入的数小,提示你猜的数字小了
只有三次输入机会
我到底哪里错了,怎么运行后可以无限次输入,没有限制,只要输错就可以一直输入下去,,,脑壳要炸了
import random
secret = random.randint(1,10) #随机生成一个数
print("............我爱python................")
temp = input("不妨猜一下我现在心里在想的是哪个数字:")
guess = int(temp)
cs = 0 #输入次数限制使用
if guess == secret: #第一次输入正确的数,直接结束
print("卧槽,你这么屌的吗,一次就对了")
print("狠狠哈哈")
else:
while guess != secret or cs == 3: #第一次输入不正确,进入循环
print("输入的不对哦,再输入一次")
temp = input("不妨猜一下我现在心里在想的是哪个数字:")
guess = int(temp)
cs = cs + 1 # 次数的递增
if guess == secret: #输入的与随机的作比较
print("哎哟不错哟,竟然被你猜对了")
print("狠狠哈哈")
break
elif guess - secret < 0: #输入的与随机的作比较
print("你猜的数字小了")
continue
elif guess - secret > 0: #输入的与随机的作比较
print("你猜得数字大了")
continue
print("游戏结束!!!")
[b]
你 while 循环的条件用错了 ,应该用 and cs < 3 而不是 or cs == 3
因为 or 是只要你一个条件满足那么久返回 True ,则循环只要你不输入正确,就会无限循环下去,且此时短路了 or 右边的条件
还有这里可以小小改进下:elif 里面的 continue 可以去掉,是多余的,因为执行完命令时候已经就完成循环了,会直接开始下个循环,可以不用 continue
参考代码:
- import random
- secret = random.randint(1,10) #随机生成一个数
- print("............我爱python................")
- temp = input("不妨猜一下我现在心里在想的是哪个数字:")
- guess = int(temp)
- cs = 0 #输入次数限制使用
- if guess == secret: #第一次输入正确的数,直接结束
- print("卧槽,你这么屌的吗,一次就对了")
- print("狠狠哈哈")
- else:
- while guess != secret and cs < 3: #第一次输入不正确,进入循环
- print("输入的不对哦,再输入一次")
- temp = input("不妨猜一下我现在心里在想的是哪个数字:")
- guess = int(temp)
- cs = cs + 1 # 次数的递增
- if guess == secret: #输入的与随机的作比较
- print("哎哟不错哟,竟然被你猜对了")
- print("狠狠哈哈")
- break
- elif guess - secret < 0: #输入的与随机的作比较
- print("你猜的数字小了")
- elif guess - secret > 0: #输入的与随机的作比较
- print("你猜得数字大了")
- print("游戏结束!!!")
复制代码[/b]
|
|