计算机如何读取堆叠的 if else 条件

问题描述 投票:0回答:2

你能向我解释一下计算机如何读取下面这段代码吗?

我正在编写一些代码,人们输入特定的年份,计算机会检测该年份是否是闰年。我从一位讲师那里得到了这段代码,了解他如何执行它。代码如下:

year = int(input(2000))

if year % 4 == 0:
  if year % 100 == 0:
    if year % 400 == 0:
      print("Leap year")
    else:
      print("Not leap year")
  else:
    print("Leap year")
else:
  print("Not leap year")

答案不是闰年

我试图了解计算机如何读取它。据我了解,第一个条件,如果年份没有余数,就是闰年。如果有余数则不是闰年。

然后我对第二个条件感到困惑。那么如果没有能被100整除的余数那么它会打印闰年吗?因为在 else 语句中它也说闰年。

对不起初学者。但我真的很感兴趣我应该如何阅读这行代码

谢谢!

我正在尝试理解导师的代码行。我尝试了其他解决方案,但它确实有效。我没有嵌套 if 条件。我只是想了解如何嵌套 if 条件被读取

python if-statement nested-if
2个回答
0
投票

根据您的陈述,例如“尝试了解计算机如何读取它”,那么也许此资源就是您正在寻找的内容。这很容易理解,但如果您有疑问,请随时提问。

我无法回复评论,因为我没有足够的声誉,所以我只是在这里使用了答案选项。


0
投票

您提供的代码有 嵌套

if
语句。让我们逐行分解代码:

year = int(input(2000))

if year % 4 == 0:
  if year % 100 == 0:
    if year % 400 == 0:
      print("Leap year")
    else:
      print("Not leap year")
  else:
    print("Leap year")
else:
  print("Not leap year")

第一行,

year = int(input(2000))
,提示用户输入年份并将其转换为整数。在第二行,第一个
if
语句
if year % 4 == 0:
检查给定年份是否可以被
4
整除(没有余数)。这开辟了两条路:

  1. 如果语句是
    True
    ,则进入第三行
    if year % 100 == 0:
    ,检查给定的年份是否能被
    100
    整除。这会打开另外两个分支:如果
    True
    ,检查是否能被
    400
    整除(第 4 行,
    if year % 400 == 0:
    )。如果给定的年份 能被 400
     整除,则它是 
    闰年。如果该数字可以被 4
    100
    整除,但不能被
    400
    整除,则
    不是
    闰年。如果数字不能被
    100
    整除而是被
    4
    整除,则为闰年。
  2. 最后,如果数字不能被
    4
    整除,则不是闰年。
© www.soinside.com 2019 - 2024. All rights reserved.