python 课后题5 动手1
a = input("请输入年份")r = int(a)
if (r % 400) :
print("该年份是闰年")
else :
if(r % 100) and not (r % 4):
print("该年份是闰年")
else :
print("该年份不是闰年")
这样为什么不能判断是否为闰年,我想用余数表示真假。python课后题5里动手1
本帖最后由 白two 于 2021-9-15 01:29 编辑
下面都知道加 not ,上面就不知道……
a = input("请输入年份")
r = int(a)
if (r % 400):
print("该年份是闰年")
else:
if (r % 100) and not (r % 4):
print("该年份是闰年")
else:
print("该年份不是闰年") 应该是不能被100整除 但能被4整除吧 你的not是不是错了位置啊 判断反了
比如能被400整除是
if r % 400 == 0:
而不是
if r % 400: (这个相对应 if r % 400 != 0:) if(r % 100) and not (r % 4):
能被100整除的都能被4整除呀,所以这里逻辑有问题哦
第一个 if 加上 not 即可,参考代码:
a = input("请输入年份")
r = int(a)
if not (r % 400):
print("该年份是闰年")
else:
if (r % 100) and not (r % 4):
print("该年份是闰年")
else:
print("该年份不是闰年") year = int(input("请输入年份:")) # 输入数字同时转换为整型 (integer)
if not (year%4) and ((year%100) or (not (year%400))): # 只要符合2个条件,就是闰年
print(f"{year} 是闰年")
else:
print(f"{year} 不是闰年")
页:
[1]