# 【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. Linux常用命令-解压缩篇

    前言 Linux常用命令中,有很多用于对文件的压缩或解压,本文将介绍这些解压缩命令中不常见却非常实用的用法. tar tar是linux中最常用的解压缩命令.tar命令可用于处理后缀名为tar,tar ...

  2. c#基础知识之 Dataset 索引0没有值

    datatable绑定到dataGrieView,在刷新datatable的数据时,常会bug:索引0没有值或索引(int)x没有值 昨天弄了一个下午,发现bug原因: dataGridView中有数 ...

  3. vue指令详解和自定义指令

    在vue中,指令以v-开头,是一种特殊的自定义行间属性,指令的职责就是其表达式的值改变时相应地将某些行为应用到DOM上 指令使用的示例 在下面的运行结果中可以看到,v-html是可以解析html标签的 ...

  4. python之模块与包

    一模块 二包 一模块 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的代 ...

  5. Spring Cloud构建微服务架构:服务网关(路由配置)【Dalston版】

    转载:http://blog.didispace.com/spring-cloud-starter-dalston-6-2/ 原创  2017-08-26  翟永超  Spring Cloud 被围观 ...

  6. 虚拟化技术QEMU-KVM入门

    一.QEMU.KVM.QEMU-KVM QEMU提供一系列的硬件模拟设备(CPU,网卡,磁盘等),客户机指令都需要QEMU翻译,因而性能较差.KVM是linux内核提供的虚拟化,可以用来进行vCPU的 ...

  7. 洛谷P1127-词链

    Problem 洛谷P1127-词链 Accept: 256    Submit: 1.3kTime Limit: 1000 mSec    Memory Limit : 128MB Problem ...

  8. [MCM] 多目标优化 MOP(multi-objective programming)

    生活中许多问题都是由相互冲突和影响的多个目标组成.人们会经常遇到使多个目标在给定区域同时尽可能最佳的优化问题,也就是多目标优化问题.优化问题存在的优化目标超过一个并需要同时处理就成为多目标优化问题. ...

  9. P1577 切绳子(二分)

    思路:先来分析一下数据范围,是1e4个数据,但是,是double类型,结果不超过0.01那么在绳子最大的情况下,单纯的找正确答案暴力的话就是1e7的时间复杂度,再乘上1e4的数据,这样肯定不行.那么很 ...

  10. 【转】FFmpeg 基本用法

    FFmpeg FFmpeg 基本用法 本课要解决的问题 1.FFmpeg的转码流程是什么? 2.常见的视频格式包含哪些内容吗? 3.如何把这些内容从视频文件中抽取出来? 4.如何从一种格式转换为另一种 ...