定义一个列表包含12个元素,存放一年365天中12月份的各自天数。完成以下功能: # 1).用户输入数字,输出月份的英文和天数; # 2).修改闰年2月份为29天,打印一年总天数; # 3).排序所有的月份天数并输出
时间: 2024-09-17 21:05:33 浏览: 85
为了实现这个需求,你可以使用Python语言创建一个字典来存储每个月份及其天数,并通过循环、条件判断以及内置函数来完成所需的功能。这里是一个简单的示例:
```python
# 初始化月份天数列表
months_days = {
'January': 31,
'February': 28,
'March': 31,
'April': 30,
'May': 31,
'June': 30,
'July': 31,
'August': 31,
'September': 30,
'October': 31,
'November': 30,
'December': 31
}
# 用户输入数字索引,获取月份和天数
def get_month_and_days():
user_input = int(input("请输入1到12的数字选择月份:"))
if user_input < 1 or user_input > 12:
print("无效的输入,请重新输入")
return
month = list(months_days.keys())[user_input - 1]
days = months_days[month]
return f"{month}有{days}天"
# 判断是否为闰年并更新2月天数
def check_leap_year():
year = int(input("请输入年份:"))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
months_days['February'] = 29
total_days = sum(months_days.values())
print(f"闰年的2月份有29天,一年总共有{total_days}天")
else:
print("普通年份,2月份有28天")
# 排序并输出所有月份天数
def sort_months():
sorted_months = {k: v for k, v in sorted(months_days.items(), key=lambda item: item[1])}
print("月份按天数从少到多排列:")
for month, days in sorted_months.items():
print(f"{month}: {days}天")
# 主程序
while True:
action = input("请选择操作:\n1. 输入数字查看月份天数\n2. 检查闰年并计算天数\n3. 排序并显示所有月份天数\n4. 退出程序\n")
if action == '1':
print(get_month_and_days())
elif action == '2':
check_leap_year()
elif action == '3':
sort_months()
elif action == '4':
break
else:
print("无效的操作,请重新选择。")
```
阅读全文