Python 033 讲 动动手第0题
import randomsecret = random.randint(1,10)
print('------------------我爱鱼C工作室------------------')
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
try:
guess = int(temp)
except ValueError:
print('输入错误!')
guess = secret
while guess != secret:
temp = input("哎呀,猜错了,请重新输入吧:")
guess = int(temp)
if guess == secret:
print("我草,你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
else:
if guess > secret:
print("哥,大了大了~~~")
else:
print("嘿,小了,小了~~~")
print("游戏结束,不玩啦^_^")
想请问 except ValueError:里的guesee=secret是什么用意
当输入有误时,运行 guess = secret
这样,下面执行到while guess != secret:时,条件不成立,直接可以跳过while循环
结束运行 如果输入错误的话
guess = secret
给guess赋值随机生成的数secret
程序跳过while循环,直接print("游戏结束,不玩啦^_^")结束
------------------我爱鱼C工作室------------------
不妨猜一下小甲鱼现在心里想的是哪个数字:a
输入错误!
游戏结束,不玩啦^_^
>>> 本帖最后由 jackz007 于 2021-2-23 16:26 编辑
为了过这一关
while guess != secret:
因为,如果 guess 不等于 secret 的话,就无法进入 while 循环。
这个代码有一个严重的问题,就是代码逻辑的风格不统一,输入检查只是在代码的开头有,到了最为核心的 while 循环内反而没有。
import random
secret = random.randint(1,10)
print('------------------我爱鱼C工作室------------------')
print("不妨猜一下小甲鱼现在心里想的是哪个数字。")
while True:
while True:
print()
temp = input("请输入整数:")
try:
guess = int(temp)
break
except:
print("输入错误,%s 不是一个整数。" % temp)
if guess == secret:
print("我草,你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
break
else:
if guess > secret:
print("哥,大了大了~~~")
else:
print("嘿,小了,小了~~~")
print("再试一次吧。")
print("游戏结束,不玩啦^_^") guess = secret # 这里并不是真要赋值,而仅仅是通过赋值行为,让程序直接结束,打印最后的结束语。一旦输入不合格,程序到此,也就不运行了。
逃兵 发表于 2021-2-23 16:05
如果输入错误的话
guess = secret
感谢
页:
[1]