输入某年某月某日,判断这一天是这一年的第几天?(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('您输入的月份不正确,请重新输入。')

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 3

打赏作者

.....我

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值