用Python3、定义一个列表包含12个元素存放一年365天中12月份的各自天数,完成以下功能: (1)用户输入数字输出月份的英文和天数 (2)用户输入年份,计算、打印一年总天数 (3)排序所有的月份天数并输出 (4)统计29天、30天、31天的月份各有多少,存入字典,打印结果
时间: 2024-09-18 16:13:30 浏览: 78
在Python3中,我们可以创建一个列表来存储每个月的天数,然后按照你的需求实现相应的功能。这里是一个示例代码:
```python
# 定义月份和对应天数的列表
months_days = {
'January': 31,
'February': 28, # 注意闰年的2月有29天
'March': 31,
'April': 30,
'May': 31,
'June': 30,
'July': 31,
'August': 31,
'September': 30,
'October': 31,
'November': 30,
'December': 31
}
# 功能实现
def main():
# (1) 输入月份和输出天数
while True:
month_input = input("请输入月份数字(1-12)或输入'month'退出:")
if month_input == 'month':
break
try:
month_num = int(month_input)
print(f"{months_days[str(months_days.keys()[month_num - 1])]} {months_days.keys()[month_num - 1]}", "天")
except ValueError:
print("无效的输入,请输入正确的月份数字。")
# (2) 计算并打印年份总天数
year_input = int(input("请输入年份:"))
total_days = sum(month_days.values())
print(f"年份{year_input}的总天数为:{total_days}")
# (3) 排序并输出所有月份的天数
sorted_months = sorted(months_days.items(), key=lambda x: x[1])
print("排序后的月份天数:", sorted_months)
# (4) 统计特殊天数
count_dict = {day: sum(day in str(month) for month, days in months_days.items()) for day in [29, 30, 31]}
print("特殊天数统计:", count_dict)
if __name__ == "__main__":
main()
```
这个程序首先定义了一个字典存储每月的天数。然后实现了四个功能:接受用户输入,计算并输出月份天数,计算年份总天数,以及统计特殊天数。注意,这个版本假设每年都是365天,如果需要考虑闰年,需要在`months_days['February']`处加上条件判断。
阅读全文