用if函数:输入年份月份输出天数带报错
时间: 2023-05-25 13:05:58 浏览: 123
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
if month in [1, 3, 5, 7, 8, 10, 12]:
print("{}年{}月共有31天。".format(year, month))
elif month in [4, 6, 9, 11]:
print("{}年{}月共有30天。".format(year, month))
elif month == 2:
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
print("{}年{}月共有29天。".format(year, month))
else:
print("{}年{}月共有28天。".format(year, month))
else:
print("输入的月份有误,请输入1-12之间的整数。")
相关问题
python输入年份月份输出天数
下面是一个Python程序,可以根据输入的年份和月份输出该月的天数:
```python
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
# 计算该月的天数
if month in [1, 3, 5, 7, 8, 10, 12]:
days = 31
elif month in [4, 6, 9, 11]:
days = 30
else:
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
days = 29
else:
days = 28
# 输出结果
print("{0}年{1}月有{2}天".format(year, month, days))
```
这个程序首先通过`input()`函数获取用户输入的年份和月份,然后根据月份计算该月的天数。计算方法如下:
- 对于1、3、5、7、8、10、12月,天数为31天;
- 对于4、6、9、11月,天数为30天;
- 对于2月,如果年份是闰年(能被4整除但不能被100整除,或能被400整除),则天数为29天,否则天数为28天。
最后,程序使用`print()`函数输出结果。其中使用了字符串格式化的方法,用`{}`占位符表示需要填入的内容,然后使用`format()`方法将实际的值填入占位符中。
Python编程:输入年份和天数,输出是那一年的哪一月哪一天,不导入模块,用循环和if
在Python中,你可以通过编写一个函数来实现这个功能,利用for循环和if条件判断。以下是一个简单的示例:
```python
def convert_date(year, days):
# 遍历一年中的所有月份(从1月到12月)
for month in range(1, 13):
# 计算该个月份有多少天(除了2月,因为闰年和平年的天数不同)
if month == 2:
if is_leap_year(year): # 判断是否是闰年
days_in_month = 29
else:
days_in_month = 28
else:
days_in_month = [31, 30, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month - 1]
# 如果剩余天数小于等于本月天数,则找到对应的日期并返回结果
if days <= days_in_month:
day = days
return f"{year}年{month}月{day}日"
# 减去已经过去的天数
days -= days_in_month
# 判断是否是闰年的函数
def is_leap_year(year):
if year % 4 != 0:
return False
elif year % 100 != 0:
return True
elif year % 400 != 0:
return False
else:
return True
# 用户输入年份和天数
year = int(input("请输入年份: "))
days = int(input("请输入总天数: "))
# 调用函数并打印结果
result = convert_date(year, days)
print(result)
阅读全文