代码有些许不懂
temp = input('请输入一个年份:')while not temp.isdigit():
temp = input('输入的格式有问题,请输入具体数字:')
year = int(temp)
if (year / 400) == int(year / 400):
print(temp + '是闰年')
else:
if (year / 4 == int(year / 4)) and (year / 100 != int(year / 100)):
print(temp + '是闰年')
else:
print(temp + '不是闰年')
这个代码里面为啥最后打印要用temp+文字,而不是用year+文字。用year+文字出现的最后结果就是year是润年。
用 year + 文字不会报错吗 本帖最后由 jackz007 于 2021-7-2 23:41 编辑
python 判断整除有专门的方法
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
print(temp , '是闰年')
else
print(temp , '不是闰年')
% 是取余运算符,如果 a 能够被 b 整除,则 a % b == 0 的值为 True,就是说,a 除以 b 的余数是 0 值。
楼主不妨试试看 第四行year = int(temp)
你已经将year定义为整型变量
int变量和字符串,两种不同的类型不能用加号连接会报错
而在第一行temp = input('请输入一个年份:')
temp被定义为字符串类型(input()函数自动返回字符串类型)
可以和字符串用加号连接
你问题中所说"用year+文字出现的最后结果就是year是润年。"
可能是因为你写的是print('year'+ '是闰年')
用双引号引上的内容不是变量了
还有就是一个提醒,尽量避免将函数定义为变量名
temp是一种函数
最好把变量名改为temp1
页:
[1]