Bootstrap

练习题:41

目录

Python题目

题目

题目分析

需求理解

关键知识点

闰年判断规则分析

代码逻辑分析

代码实现

代码解释

运行思路

1. 程序启动与输入获取

2. 闰年判断逻辑执行

3. 结果输出

总结

结束语

Python题目

题目

闰年的判断规则是:普通年份能被 4 整除但不能被 100 整除的为闰年,世纪年份能被 400 整除的是闰年。编写一个 Python 程序,输入一个年份,判断该年份是否为闰年,并输出相应的结果。

题目分析

需求理解

本题的核心需求是编写一个 Python 程序,根据用户输入的年份,判断该年份是否为闰年,并输出对应的判断结果。

关键知识点

要解决这个问题,需要掌握以下 Python 基础知识点:

  1. 输入函数input() 函数用于从用户那里获取输入信息。在本题中,借助该函数获取用户输入的年份。不过要注意,input() 返回的是字符串类型,所以需要使用 int() 函数将其转换为整数类型,才能进行后续的数值运算。
  2. 条件判断语句if-else 语句是 Python 中用于实现条件判断的关键语句。本题要依据闰年的判断规则,运用该语句来判断输入的年份是否为闰年,并根据判断结果执行不同的代码块。
  3. 逻辑运算符and 和 or 是 Python 中的逻辑运算符。and 表示逻辑与,只有当所有条件都为真时,整个表达式才为真;or 表示逻辑或,只要有一个条件为真,整个表达式就为真。在本题中,需要使用这两个逻辑运算符来组合闰年判断的条件。
  4. 取模运算符% 是 Python 中的取模运算符,用于计算两个数相除的余数。在本题中,通过该运算符判断年份能否被 4、100 或 400 整除。

闰年判断规则分析

闰年的判断规则包含两种情况:

  1. 普通年份:普通年份指的是不是整百的年份。对于普通年份,若能被 4 整除但不能被 100 整除,那么该年份就是闰年。例如 2004 年,2004 能被 4 整除(2004 % 4 = 0),且不能被 100 整除(2004 % 100 ≠ 0),所以 2004 年是闰年;而 2005 年,2005 不能被 4 整除(2005 % 4 ≠ 0),所以 2005 年不是闰年。
  2. 世纪年份:世纪年份指的是整百的年份,如 1900 年、2000 年。对于世纪年份,只有能被 400 整除时,才是闰年。例如 2000 年,2000 能被 400 整除(2000 % 400 = 0),所以 2000 年是闰年;而 1900 年,1900 不能被 400 整除(1900 % 400 ≠ 0),所以 1900 年不是闰年。

代码逻辑分析

  1. 获取输入:程序首先使用 input() 函数获取用户输入的年份,并使用 int() 函数将其转换为整数类型,以便后续进行数值运算。
  2. 条件判断:使用 if-else 语句结合逻辑运算符 and 和 or 对输入的年份进行判断。判断条件 (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0) 涵盖了普通年份和世纪年份的判断规则。
  3. 输出结果:根据判断结果,使用 print() 函数输出相应的信息,告知用户输入的年份是否为闰年。

代码实现

# 获取用户输入的年份
year = int(input("请输入一个年份: "))

# 判断是否为闰年
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
    print(f"{year} 年是闰年。")
else:
    print(f"{year} 年不是闰年。")

    代码解释

    1. 获取用户输入:使用 input() 函数获取用户输入的年份,由于 input() 返回的是字符串类型,所以使用 int() 函数将其转换为整数类型。
    2. 判断闰年:根据闰年的判断规则,使用条件语句进行判断。(year % 4 == 0 and year % 100 != 0) 表示普通年份能被 4 整除但不能被 100 整除;(year % 400 == 0) 表示世纪年份能被 400 整除。使用 or 逻辑运算符将这两个条件组合起来。
    3. 输出结果:根据判断结果,使用 print() 函数输出相应的信息。

    运行思路

    1. 程序启动与输入获取

    • 当你运行这个 Python 程序时,程序首先会执行 year = int(input("请输入一个年份: ")) 这行代码。
      • input("请输入一个年份: ") 部分会在控制台显示提示信息 “请输入一个年份:”,然后等待用户输入。用户在控制台输入一个表示年份的数字后,按下回车键,输入的内容会作为字符串被 input() 函数获取。
      • 接着,int() 函数会尝试将这个字符串转换为整数类型。例如,如果用户输入的是 2024int("2024") 会把字符串 "2024" 转换为整数 2024,并将其赋值给变量 year。如果用户输入的不是有效的数字字符串,比如输入了字母或其他非数字字符,程序会抛出 ValueError 异常。

    2. 闰年判断逻辑执行

    • 程序继续执行到条件判断语句 if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
      • 首先来看 year % 4 == 0 and year % 100 != 0 这部分,它用于判断普通年份是否为闰年。year % 4 会计算 year 除以 4 的余数,如果余数为 0,说明 year 能被 4 整除;year % 100 会计算 year 除以 100 的余数,如果余数不为 0,说明 year 不能被 100 整除。只有当这两个条件同时满足时,这部分表达式的值才为 True。例如,对于年份 20242024 % 4 的结果是 0,2024 % 100 的结果是 24,所以 2024 % 4 == 0 and 2024 % 100 != 0 的值为 True
      • 再看 year % 400 == 0 这部分,它用于判断世纪年份是否为闰年。year % 400 会计算 year 除以 400 的余数,如果余数为 0,说明 year 能被 400 整除。例如,对于年份 20002000 % 400 的结果是 0,所以 2000 % 400 == 0 的值为 True
      • 整个条件判断语句使用 or 逻辑运算符将上述两部分连接起来。这意味着只要 year % 4 == 0 and year % 100 != 0 或者 year % 400 == 0 其中一个条件为 True,整个条件表达式 (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0) 的值就为 True

    3. 结果输出

    • 如果条件表达式的值为 True:说明输入的年份是闰年,程序会执行 print(f"{year} 年是闰年。") 这行代码。例如,当输入 2024 时,由于满足闰年条件,程序会在控制台输出 2024 年是闰年。
    • 如果条件表达式的值为 False:说明输入的年份不是闰年,程序会执行 else 语句块中的 print(f"{year} 年不是闰年。") 代码。例如,当输入 2025 时,不满足闰年条件,程序会在控制台输出 2025 年不是闰年。

    总结

    程序通过获取用户输入的年份,依据闰年的判断规则进行条件判断,最后根据判断结果输出相应的信息,告知用户该年份是否为闰年。在整个运行过程中,关键在于正确处理用户输入、准确运用取模运算和逻辑运算符进行闰年判断,以及根据判断结果输出合适的信息。

    结束语

    通过这道闰年判断的编程练习,你对 Python 的基础语法运用,尤其是条件判断、数据类型转换和输入输出操作,想必有了更扎实的理解。这看似简单的代码,实则蕴含着编程逻辑的精妙之处,将现实生活中的规则用代码准确无误地实现,这正是编程的魅力所在。

    在未来的学习中,你会遇到更多复杂的问题,但解决这道题的思路和方法都是宝贵的基石。不管是判断复杂的业务规则,还是处理海量的数据,扎实的基础都能让你游刃有余。要是在后续实践中,你对这道题的解法有新的思考,或者在其他编程挑战中遇到难题,随时都能回顾总结。编程之路,探索不止,期待你在代码世界里解锁更多精彩!

    ;