樛木fish 发表于 2022-9-5 22:13:01

关于ValueError: invalid literal for int() with base 10: ''的求教贴

print('输入年份验证闰年')
year = input('请输入年份:')
a = int(year)

if a % 400 == 0:
    print(year + '是世纪闰年。')
elif (a % 4) == 0 and (a % 100) != 0:
    print(year + '是普通闰年')
else:
    print(year + '不是闰年')

上面是写的课后作业判断闰年的,输入时候,不时会出现以下错误提示,这是为什么呢?


Traceback (most recent call last):
File "D:/Users/黄津涌/闰年.py", line 3, in <module>
    a = int(year)
ValueError: invalid literal for int() with base 10: ''

jackz007 发表于 2022-9-5 22:36:42

      你的键盘输入是什么?其中不可以包含任何的非数字字符。

临时号 发表于 2022-9-5 23:36:09

因为它叫你输年份而你却只按了一个回车

wp231957 发表于 2022-9-6 07:00:09

你输入的肯定不是整数

Twilight6 发表于 2022-9-6 08:06:42


你直接回车,导致year 被赋值为一个空字符 ""

导致 int 函数转换 int(year) 时,即 int("") 报错

页: [1]
查看完整版本: 关于ValueError: invalid literal for int() with base 10: ''的求教贴