jackiepollock 发表于 2020-8-26 17:24:13

闰年测试机- 问题



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 +'不是闰年')

——————————————————————————————————————————————————————————————————————————————————————————


大家好,在第六行里带and的if判断句里,请问是只要满足了被and链接的两个条件里的一个条件,就可以print(temp + '是闰年)对吗?并不需要两侧都满足才可以print(temp + '是闰年),是这样的吗?求大神相助。

baige 发表于 2020-8-26 17:27:35

and是两个条件都要满足 or只需满足一个条件

昨非 发表于 2020-8-26 17:29:24

本帖最后由 昨非 于 2020-8-26 17:32 编辑

if (years % 4 == 0 and years % 100 != 0) or (years % 400 == 0):
    print(years, "是闰年")
else:
    print(years, "不是闰年")

能被4整除但不能被100整除的年份,能被400整除的都是闰年

判断能否被某个数整除时建议直接用%(取余)符号,你这样写很不好理解

if后第一个括号对应两条件同时满足为闰年,or两侧条件任意一个满足均为闰年

jackiepollock 发表于 2020-8-26 17:41:56

昨非 发表于 2020-8-26 17:29
能被4整除但不能被100整除的年份,能被400整除的都是闰年

判断能否被某个数整除时建议直接用%(取余) ...

谢谢~

jackiepollock 发表于 2020-8-26 17:42:56

baige 发表于 2020-8-26 17:27
and是两个条件都要满足 or只需满足一个条件

谢谢~

昨非 发表于 2020-8-26 17:43:06

jackiepollock 发表于 2020-8-26 17:41
谢谢~

不客气
页: [1]
查看完整版本: 闰年测试机- 问题