2021-02-11

   这是我自己写的一个比较有意思的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)

你可能感兴趣的:(笔记)