|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import random
secret = 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("游戏结束,不玩啦^_^")
复制代码
|
|