如何按照流程图的指示,用编程方法编写一个函数来判断任意给定年份是否为闰年,特别注意需要处理不固定次数的循环情况?并提供相应的代码示例及运行结果展示。
时间: 2024-11-09 08:30:13 浏览: 23
在编写一个判断闰年的函数时,我们通常依据闰年的规则:如果一个年份能被4整除,那么它就是闰年;但是世纪年(即以00结尾的年份)不是那么简单,它们必须同时能被400整除才是闰年。这是一个典型的条件分支逻辑,我们可以按照流程图的指示,通过编程语言如Python来实现:
```python
def is_leap_year(year):
# 检查是否为负数或零,非正整数不算闰年
if not isinstance(year, int) or year <= 0:
return False
# 判断是否为世纪年
if year % 100 == 0:
# 如果是世纪年,则进一步检查能否被400整除
if year % 400 == 0:
return True
else:
return False
else:
# 非世纪年直接看能否被4整除
return year % 4 == 0
# 测试代码
print(is_leap_year(2000)) # 输出: True,因为2000是闰年
print(is_leap_year(1900)) # 输出: False,因为1900虽然能被4整除,但不是世纪闰年
print(is_leap_year(2021)) # 输出: False,因为2021不能被4整除
```
在这个代码中,我们首先处理了输入非法的情况(比如负数或非整数)。然后对年份进行了两种可能的判断路径:一是非世纪年,直接检查是否能被4整除;二是世纪年,除了能被4整除外,还必须能被400整除。
阅读全文