input()读取数据时不加提示信息会出错的原因
line = []divisor = 0
while True:
number = int(input())
if 0 <= number <= 100:
line.append(number)
divisor += 1
else:
print(f'{sum(line)/divisor:.2f}')
break
>>>30
>>>40
Traceback (most recent call last):
File "F:\PyCharm\pycharmworkspace\pythonProject\main.py", line 4, in <module>
number = int(input())
ValueError: invalid literal for int() with base 10: ''
line = []
divisor = 0
while True:
number = int(input('anything'))
if 0 <= number <= 100:
line.append(number)
divisor += 1
else:
print(f'{sum(line)/divisor:.2f}')
break
>>>anything30
>>>anything40
>>>anything-1
>>>35.00
本帖最后由 jackz007 于 2022-6-2 13:53 编辑
你必须键入数字,而且,不允许键入数字以外的任何字符,只有这样才能过关,否则,一定会出错。
int 只能将十进制整数类型字符串转化为整型,你这里输入英文字符,导致 int 转化报错
ValueError: invalid literal for int() with base 10: '' 这个错误是因为你代码运行到 input 时,直接回车,导致 "" 空字符串 转化为 int 整型报错
Twilight6 发表于 2022-6-2 14:09
int 只能将十进制整数类型字符串转化为整型,你这里输入英文字符,导致 int 转化报错
ValueError: i ...
那有提示信息的时候,为啥就不出现错误了{:5_99:} bymyside_ 发表于 2022-6-3 00:27
那有提示信息的时候,为啥就不出现错误了
有无提示信息都一样,可能是你输入时候可能多按了下空格
页:
[1]