# 【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))

# 【Python3练习题 004】输入某年某月某日,判断这一天是这一年的第几天?的更多相关文章

  1. python3 输入某年某月某日,判断这一天是这一年的第几天?

    题目 输入某年某月某日,判断这一天是这一年的第几天? 程序分析 特殊情况,闰年时需考虑二月多加一天. 代码: import calendar year = int(input("Year:& ...

  2. python中输入某年某月某日,判断这一天是这一年的第几天?

    输入某年某月某日,判断这一天是这一年的第几天?程序分析 特殊情况,闰年时需考虑二月多加一天: 直接上代码 #定义一个函数,判断是否为闰年 def leapyear(y): return (y % 40 ...

  3. 输入某年某月某日,判断这一天是这一年的第几天?(可以用 Python 标准 库)

    import datetime def dayofyear(): year = input("请输入年份:") month = input("请输入月份:") ...

  4. Python练习题 004:判断某日期是该年的第几天

    [Python练习题 004]输入某年某月某日,判断这一天是这一年的第几天? ---------------------------------------------- 这题竟然写了 28 行代码! ...

  5. YTU 2715: 函数---判断某年某月某日是这一年中的第几天

    2715: 函数---判断某年某月某日是这一年中的第几天 时间限制: 1 Sec  内存限制: 128 MB 提交: 380  解决: 155 题目描述 在主程序(main)中输入某年某月某日,例如2 ...

  6. python3 练习题100例 (四)

    题目四:输入某年某月某日,判断这一天是这一年的第几天? #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 题目四:输入 ...

  7. iOS - 日期的时间差(某年某月某日的某一天。。。)

    //首先创建格式化对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateF ...

  8. python3 练习题 day01

    #练习题:'''1.简述变量命名规范'''#变量名由数字.字母.下划线组成#变量名可以字母和下划线开头,不能以数字开头,并且不能全为数字#变量名不能太长,且要有意义#最好使用驼峰或下划线格式命令#变量 ...

  9. python3.4学习笔记(二) 类型判断,异常处理,终止程序

    python3.4学习笔记(二) 类型判断,异常处理,终止程序,实例代码: #idle中按F5可以运行代码 #引入外部模块 import xxx #random模块,randint(开始数,结束数) ...

随机推荐

  1. Servlet(三):获取表单数据、解决乱码和报错问题

    在了解了servlet的生命周期以及运行过程后,再来动手写一个小例子,加深对servlet的理解. 一.需求说明 在用户注册信息页面,输入用户名.密码.性别.邮箱等一些信息后,页面返回刚刚填写的信息. ...

  2. puppet 和 apache passenger的配置

    目录 1. 概要 2. apache passenger 安装测试 2.1. 什么是 apache passenger 2.2. 安装 apache passenger 2.3. 配置 apache ...

  3. June 14. 2018 Week 24th Thursday

    Good friends, good books, and a sleepy conscience: this is the ideal life. 拥有益友.良书和一颗宁静的内心:这就是理想的生活. ...

  4. Linux中的文件查找技巧

    前言 Linux常用命令中,有些命令可以帮助我们查找二进制文件,帮助手册或源文件的位置,也有的命令可以帮助我们查找磁盘上的任意文件,今天我们就来看看这些命令如何使用. witch witch命令会在P ...

  5. 《Java大学教程》—第16章 二维数组

    多维(Multi-dimensional)数组维数由索引个数决定.常用的数组:一维(one-dimensional)数组.二维(two-dimensional)数组 16.2    创建二维数组索引从 ...

  6. win21api、win32gui、win32con三个模块操作系统窗口时一些小技巧

    下面这段脚本是操作一个浏览器上弹窗,打开文件窗口,由于脚本 执行速度快,当时未添加第2行的延时时,脚本顺利的执行成功,但弹的窗却没有进行操作,建议后续如果脚本执行到打开弹窗时,延时个几秒再去操作所弹窗 ...

  7. 基于diango简易BLOG图片预览

    注册界面 登陆界面 博客主界面 个人站点主页 文章详情页 个人博客后台 添加文章页 修改密码页

  8. redis的过期时间和过期删除机制

    一:设置过期时间 redis有四种命令可以用于设置键的生存时间和过期时间: EXPIRE <KEY> <TTL> : 将键的生存时间设为 ttl 秒 PEXPIRE <K ...

  9. multi函数

    def multi(*a): sum = 1 for i in a: sum = sum *i return sum 若干个参数   百度了一下

  10. Spring配置文件中条件判断标签

    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.Prop ...