python编程4)根据用户输入的 算天数。 编写函数 isLeap ( year ),用于判断 year 是不是闰年,若是闰年则返回 True ,否则返回 False 。判断闰年的依据是: year 为非整百年且为4的倍数是闰年,为整百年且为400的倍数是闰年。例如:2019年不是闰年,2020年是闰年,2100年不是闰年,2000年是闰年。 编写函数 days ( year , month ),用于计算 year 所在的 month 的天数。 days ( year , month )函数需要调用 isLeap (函数以帮助判断2月份的天数( year 若不是闰年,返回28,否则返回29)。要求程序能根据用户一次性输入的年/月/日计算该日期是这一年的第几天。
时间: 2023-12-06 07:43:20 浏览: 89
PanDuanRunNian.rar_function leap year
可以按照以下步骤来实现:
1. 定义函数isLeap(year)判断是否为闰年,根据闰年的定义返回True或False。
2. 定义函数days(year, month),先判断月份是否为2月,如果是则调用isLeap()函数得到2月的天数(28或29),否则根据月份的奇偶性返回相应的天数。
3. 定义函数day_of_year(year, month, day),先计算该月之前的天数,再加上该月的天数即可得到该日期是这一年的第几天。
下面是完整代码实现:
```python
def isLeap(year):
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
return True
else:
return False
def days(year, month):
if month == 2:
if isLeap(year):
return 29
else:
return 28
elif month in [4, 6, 9, 11]:
return 30
else:
return 31
def day_of_year(year, month, day):
days_of_month = [31, days(year, 2), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
days = 0
for i in range(month - 1):
days += days_of_month[i]
days += day
return days
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
day = int(input("请输入日期:"))
print("该日期是{}年的第{}天。".format(year, day_of_year(year, month, day)))
```
运行结果:
```
请输入年份:2021
请输入月份:6
请输入日期:15
该日期是2021年的第166天。
```
阅读全文