|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这是以下代码
print('----------欢迎光临-----------')
print("不妨猜下小甲鱼心里想的什么数字:",end='')
import random
ser = random.randint(1,10)
guess = 0
times = 3
while (guess != ser) and (times>0):
temp = input()
if temp.isdigit:
guess = int(temp)
if guess == ser:
print('我的天,你是小甲鱼心里的蛔虫吗!')
print('答对了哦')
else:
if guess > ser:
print('大了大了')
else :
print('小了小了')
if times > 1:
print('再试一次吧:',end = '')
else:
print('机会用光了哦')
else: #主要是这里,这里如果输入的不是数字,列如a,他就会直接显示错误,而不会去打印下面的东西了
print("输入错误,请输入一个整数:",end = '')
times = times -1
print('游戏结束咯')
按要求应该是输入的是数字的话就会继续下去,不是的话应该就会打印 ("输入错误,请输入一个整数:)。但是当输入不是数字的显示
Traceback (most recent call last):
File "D:/python/第4讲 条件分支 while循环 引入外援/第4讲 课后作业4.py", line 10, in <module>
guess = int(temp)
ValueError: invalid literal for int() with base 10: 'a'
为什么不会重新要求输入数字呢,求解
漏了对括号:
if temp.isdigit ()
补上就行了:
- print('----------欢迎光临-----------')
- print("不妨猜下小甲鱼心里想的什么数字:",end='')
- import random
- ser = random.randint(1,10)
- guess = 0
- times = 3
- while (guess != ser) and (times>0):
- temp = input()
- if temp.isdigit:
- guess = int(temp)
- if guess == ser:
- print('我的天,你是小甲鱼心里的蛔虫吗!')
- print('答对了哦')
- else:
- if guess > ser:
- print('大了大了')
- else :
- print('小了小了')
- if times > 1:
- print('再试一次吧:',end = '')
- else:
- print('机会用光了哦')
- else: #主要是这里,这里如果输入的不是数字,列如a,他就会直接显示错误,而不会去打印下面的东西了
- print("输入错误,请输入一个整数:",end = '')
- times = times -1
- print('游戏结束咯')
复制代码
|
|