'''3. 题目:输入某年某月某日,判断这一天是这一年的第几天?(if elif else基本语句入门)
程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,
闰年且输入月份大于2时需考虑多加一天'''
y =int(input('输入年份:'))
if y % 4 == 0 and y % 100 != 0: # 判断是否是闰年(请百度闰年的定义)
add = 1
elif y % 400 == 0: #继续判断是否是闰年,如果是闰年全年在二月份要加一天喂29天。
add = 1
else:
add = 0 # 表示不是闰年增加的天数为0
m =int(input('输入月份:'))
if m > 12 or m < 1:
print('输入错误!')
else:
d = int(input('输入日期:'))
if d > 31 or d < 1: # 输入天数大于31输出错误信息
print('输入错误!')
elif 7 > m > 2 and m % 2 == 0 and d > 30: # 输入偶数月天数大于30输出错误信息
print('输入错误!')
elif m == 2 and add == 0 and d > 28: # 非润年输入2月天数大于28输出错误信息
print('输入错误!')
elif m == 2 and add == 1 and d > 29: # 润年输入2月天数大于29输出错误信息
print('输入错误!')
elif m > 7 and m % 2 != 0 and d > 30: # 输入偶数月天数大于30输出错误信息
print('输入错误!')
else:
if 8 > m > 2:
sum = (m - 1) * 31 - (m - 1) // 2 + d + add - 2 # 天数计算公式(每月31天-2月及偶数月少的天数)
elif 7 < m:
sum = 4 * 31 + 3 * 30 + add - 2 + (m-8) * 31 + d - (m-8) // 2
else:
sum = (m - 1) * 31 + d
print('这天是这一年的第', sum, '天')
print('Game over')
python判断某年是否为闰年的程序_Python 学习--从0到1(4. 题3)
最新推荐文章于 2024-02-15 16:23:51 发布