zoukankan      html  css  js  c++  java
  • # 【Python3练习题 004】输入某年某月某日,判断这一天是这一年的第几天?

    # 【Python练习题 004】输入某年某月某日,判断这一天是这一年的第几天?

    # 思路:先判断是否为闰年,这关系到 2 月份的天数。
    # 之后再根据月份值把前几个月的天数累积加起来,最后再加上个“日”,就可以了。
    dat = input('请输入某年某月某日,格式为 yyyy-mm-dd :')
    y = int(dat[0:4]) #获取年份
    m = int(dat[5:7]) #获取月份
    d = int(dat[8:]) #获取日

    ly = False

    if y%100 == 0: #若年份能被100整除
    if y%400 == 0: #且能被400整除
    ly = True #则是闰年
    else:
    ly = False
    elif y%4 == 0: #其它情况下,若能被4整除
    ly = True #则为闰年
    else:
    ly = False

    if ly == True: #若为闰年,则2月份有29天
    ms = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    else:
    ms = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

    days = 0
    for i in range(1, 13): #从1到12逐一判断,以确定月份
    if i == m:
    for j in range(i-1): #确定月份i之后,则将ms列表中的前i-1项相加
    days += ms[j]
    print('%s是该年份的第%s天。' % (dat, (days + d))) #最后再加上“日”,即是答案


    # 方法二
    import datetime

    y = int(input('请输入4位数字的年份:')) #获取年份
    m = int(input('请输入月份:')) #获取月份
    d = int(input('请输入是哪一天:')) #获取“日”

    targetDay = datetime.date(y, m, d) #将输入的日期格式化成标准的日期
    print(targetDay - datetime.date(targetDay.year-1, 12, 31)) #减去上一年最后一天,可得解

    # 方法三
    import datetime

    y = int(input('请输入4位数字的年份:')) #获取年份
    m = int(input('请输入月份:')) #获取月份
    d = int(input('请输入是哪一天:')) #获取“日”

    targetDay = datetime.date(y, m, d) #将输入的日期格式化成标准的日期
    dayCount = targetDay - datetime.date(targetDay.year - 1, 12, 31) #减去上一年最后一天
    print('%s是%s年的第%s天。'% (targetDay, y, dayCount.days))
    逆风的方向更适合飞翔,不怕千万人阻挡,只怕自己投降!
  • 相关阅读:
    elasticsearch + fluentd + kibana 日志收集
    redis-dump数据导入导出
    zabbix 存储数据清理
    etcd集群部署
    yum安装zabbix4.2
    U盘启动安装CentOS 7出现 -dracut initqueue timeout
    About && 友链
    红队-C2 Server基础构建
    从0学习WebLogic CVE-2020-2551漏洞
    代码审计-phpok框架5.3注入漏洞
  • 原文地址:https://www.cnblogs.com/jackzz/p/9125288.html
Copyright © 2011-2022 走看看