if else语句的简单练习
练习要求:输入一个年份,让其判断该年份是否是闰年
首先我们来一个简洁的写法,直接用一个变量(year)来接住我们所输入的内容,再通过给if else语句增加条件来完成
如下:
year =eval(input("请输入年份:"))
if(year % 4==0 and year % 100!=0) or year % 400==0:
print("该年份是闰年")
else:
print("该年不是闰年")
我们稍微完善一下,为了使代码更加灵活,可以先定义一个名为is_leap_year的函数,用它来接住这个年份作为参数,再根据闰年的规则来判断,是否是闰年。
def is_leap_year(year):
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
return True
else:
return False
接着我们再通过主函数获取用户输入的一个年份,再调用上述函数,再通过if else结构输出结果
year = int(input("请输入一个年份:"))
if is_leap_year(year):
print(year, "是闰年")
else:
print(year, "不是闰年")
既然可以单独输入一个年份,我们也可以输入一个范围,来批量获取想要的信息
def is_leap_year(year):
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
return True
else:
return False
range_str = input("请输入一个范围值(如:2000-2020):")
start_year, end_year = map(int, range_str.split('-'))
for year in range(start_year, end_year + 1):
if is_leap_year(year):
print(year, "是闰年")
else:
print(year, "不是闰年")
上述会将范围内所有年份均输出一次,如果我们只想要其中闰年的年份可以
def is_leap_year(year):
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
return True
else:
return False
range_str = input("请输入一个范围值(如:2000-2020):")
start_year, end_year = map(int, range_str.split('-'))
for year in range(start_year, end_year + 1):
if is_leap_year(year):
print(year)
或者可以将其添加至集合一次性输出