这是我自己写的一个比较有意思的python小程序,刚学python不久,只有这个程序写的比较完整,就是自己吧一个简单的程序写的有点复杂,希望大家可以给点意见,
这个程序是输入一个年份,月份,和日份,判断这一天是这一年的第几天,话不多说,上程序。
try: print('------------判断某一年中某一个月的某一天是这一年中的第几天-----------------------') a = 7 while a >= 5: nf = int(input('请输入年份')) yf = int(input('请输入月份')) rf = int(input('请输入今天是几号')) t=rf lis = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # "lis"中的元素表示年份为闰年的每一个月的天数 lis1 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # "lis1"中的元素表示年分为平年的每一个月的天数 if yf >= 0 and yf <= 12: # 创建函数"fun1"用来计算年份为闰年的某一天是这一年的第几天 def fun1(yf, rf): print(nf, '是闰年') if yf == 1: rf=rf else: for i in range(0, yf-1 ): rf=rf+ lis[i] print(nf, '年', yf, '月', t, '日是', nf, '年的第', rf, '天') pass # 创建函数"fun2"用来计算年份为平年的某一天是这一年的第几天 def fun2(yf, rf): print(nf, '是平年') if yf == 1: rf=rf else: for i in range(0, yf-1): rf = rf + lis1[i] print(nf, '年', yf, '月', t, '日是', nf, '年的第', rf, '天') pass # 判断年份,分别调用函数 if nf % 100 == 0 and nf%400==0: if rf > lis[yf - 1]: print(nf, '年', yf, '月没有', rf, '天,所以输入错误') else: fun1(yf, rf) elif nf % 4 == 0: if rf > lis[yf - 1]: print(nf, '年', yf, '月没有', rf, '天,所以输入错误') else: fun1(yf, rf) else: if rf > lis1[yf - 1]: print(nf, '年', yf, '月没有', rf, '天,所以输入错误') else: fun2(yf, rf) else: print('月份---', yf, '输入错误')except BaseException as e: print('程序错误错误原因为----->', e)