Python 练习实例4
2017-11-19 20:20
351 查看
题目:输入某年某月某日,判断这一天是这一年的第几天?
程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于2时需考虑多加一天。
程序源代码:
方法一
方法二
程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于2时需考虑多加一天。
程序源代码:
方法一
p = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 平年 w = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 闰年 year = int(input("请输入年份: ")) month = int(input("请输入月份: ")) day = int(input("请输入日期: ")) # 判断闰年,平年 if year % 100 == 0: if year % 400 == 0: d = w else: d = p else: if year % 4 == 0: d = w else: d = p # 计算天数 days = sum(d[0:month-1])+day print("%d年%d月%d日是%d年的第%s天。" % (year, month, day, year, days))
方法二
year = int(input('请输入年份:')) month = int(input('请输入月份:')) day = int(input('请输入日期:')) months1 = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366] # 闰年 months2 = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365] # 平年 if ((year % 4 == 0)and(year % 100 != 0)) or ((year % 100 == 0) and (year % 400 == 0)): dth = months1[month-1] + day else: dth = months2[month-2] + day print("是该年的第%d天" % dth)