请帮我看一下这段代码有什么问题谢谢
import randomsecret = random.randint(1,10)
print('------------------我爱鱼C工作室------------------')
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
try:
guess = int(temp)
except (ValueError, EOFError, KeyboardInterrupt):
print('输入错误!')
guess = secret
while guess != secret:
temp = input("哎呀,猜错了,请重新输入吧:")
guess = int(temp)
if guess == secret:
print("我草,你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
else:
if guess > secret:
print("哥,大了大了~~~")
else:
print("嘿,小了,小了~~~")
print("游戏结束,不玩啦^_^")
当用户输入Ctrl+C时,系统没有输出“输入错误!游戏结束,不玩啦”,而是直接红字报错,为什么呢? 我也看不出
改成这样就好,因为你 try 捕获没有把 input 输入时候捕获,所以不会出现错误
把 input 也放入 try 即可捕获 KeyboardInterrupt :
import random
secret = random.randint(1,10)
print('------------------我爱鱼C工作室------------------')
try:
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
guess = int(temp)
except (ValueError, EOFError, KeyboardInterrupt):
print('输入错误!')
guess = secret
while guess != secret:
temp = input("哎呀,猜错了,请重新输入吧:")
guess = int(temp)
if guess == secret:
print("我草,你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
else:
if guess > secret:
print("哥,大了大了~~~")
else:
print("嘿,小了,小了~~~")
print("游戏结束,不玩啦^_^") Twilight6 发表于 2020-8-16 21:28
改成这样就好,因为你 try 捕获没有把 input 输入时候捕获,所以不会出现错误
把 input 也放入 try 即 ...
我去,1950了,好快啊{:10_257:}
页:
[1]