输入某年某月某日,判断这一天是这一年的第几天?(Python)

练习题题目:输入某年某月某日,判断这一天是这一年的第几天?(Python)

我是刚接触python一周的新手,发现网上的代码都跟这个不一样,我也不会太高级的算法,只是按文字意思想出来的。

while True:
    print('*'*50)
    print('输入年月日我们将判断这是一年中的第几天?')
    print("-"*50)
    # 输入年月日
    y = int(input('请输入年份:'))
    d = int(input('请输入月份:'))
    r = int(input('请输入日期: '))
    print('*'*50)
    # 定义闰年2月是29天,否则2月是28天
    dd_num = [31,29,31,30,31,30,31,31,30,30,31,30]
    d_num = [31,28,31,30,31,30,31,31,30,30,31,30]
    # 定义全局变量x
    x = 0
    # 规定月份不能大与12,否则告诉用户'月份不正确,请重新输入'
    if d <= 12:
    # 同理,不能超过31天
        if r <= 31:
            if y%4 == 0:
            # 当年份为闰年,取余数为0,使用dd_num列表遍历
                for i in range(0,d-1):
                   x += dd_num[i]
            else:
            # 否则使用d_num遍历
                for i in range(0,d-1):
                    x +=d_num[i]
            print('这是第%d天.' % (x+r))
            break
        else:
            print('您输入的日期不对,请重新输入。')
    else:
        print('您输入的月份不正确,请重新输入。')

你可能感兴趣的:(练习题)