为什么当输入不是数字的时候会报错
import randomsecret = random.randint(1,5)
num = input('猜一个数字 ')
result = int(num)
i = 5
if num.isdigit():
while result != secret and i :
if result > secret:
print('大了')
else:
print('小了')
num = input('再猜一次')
result = int(num)
i = i - 1
print('对了')
print('但对了也没有奖励')
print('Game Over')
else:
print("抱歉,您的输入有误,请输入一个整数:", end='') 首先你要知道 input 方法用户输入后的值是以字符串格式赋值给变量的,int方法是把其他类型的数值转化为整型,也就是整数。
当你输入一个非数值类型的数时候,导致int无法转化为整数就会报错的~
举个例子: 假设你input 那输入的是 中文 , 那你如何把中文字转化为整数呢?是吧,所以就会报错~
只需要把result改下位置即可:
import random
secret = random.randint(1,5)
num = input('猜一个数字 ')
i = 5
if num.isdigit():
result = int(num)# 改到这 ,因为isdigit()会先判断是不是数字类字符串,是的话才会执行转化为整数
while result != secret and i :
if result > secret:
print('大了')
else:
print('小了')
num = input('再猜一次')
result = int(num)
i = i - 1
print('对了')
print('但对了也没有奖励')
print('Game Over')
else:
print("抱歉,您的输入有误,请输入一个整数:", end='')
如果帮助到你了,可以给设置个最佳哈~~{:10_287:} 输入的不是数字的时候通过int方法转化为整型的话会有参数错误,需要修改代码的结构
页:
[1]