# 输入年月日,如:1995年12月10日,计算是该年的第几天?

# 同时计算出当天是星期几?

print("请依据提示依次输入您想查询的年 月 日")

# 第一段代码块(年月日输入)开始

# 输入年份并对输入值进行判断其合理性

while True:

year = int(input("请输入您想查询所在的年份(1970~2038年):"))

if 1970 <= year <= 2038:

if (year%4 ==0 and year%100 !=0) or year%400 == 0:

# leap = 0 表示润年

leap = 0

# print(leap)

else:

# leap = 1 表示平年

leap = 1

print("您输入的年份为%d年" %year)

break

else:

print("您输入的年份为%d年,不在1970年至2038年之间,请您依据提示再次输入" %year)

# 年份输入代码结束

# 输入月份并判断输入值进行判断其合理性,主要分润年和非润年

while True:

print("-------------------------------------------------")

month = int(input("请输入您想查询所在的月份:"))

if 1<= month <= 12:

print("您输入的月份为%d月" %month)

break

else:

print("您输入的月份为%d,不在1月至12月之间,请您依据提示再次输入" %month)

# 月份输入代码结束

# 1 3 5 7 8 10 12 月31天  4 6 9 11月 30天  润年2月29天   2月28天

# standard_month 表示平年中每个月对应的天数

standard_day = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

# 输入具体时间并对时间进行判断,依据年 月来判断其合理性

while True:

print("-------------------------------------------------")

day = int(input("请输入您想查询的具体日期:"))

if leap ==0:

if month == 2 and 0 <= day <= 29:

print("您输入的是%d年%d月%d日" %(year,month,day))

break

else:

print("您输入的日期为%d,超过%d月的最大天数%d天,请您依据提示再次输入" %(day, month, 29))

if 0 <= day <= standard_day[month-1]:

print("您输入的是%d年%d月%d日" %(year,month,day))

break

else:

print("您输入的日期为%d,超过%d月的最大天数%d天,请您依据提示再次输入" %(day, month, standard_day[month-1]))

elif leap == 1:

if 0 <= day <=standard_day[month-1]:

print("您输入的是%d年%d月%d日" %(year,month,day))

break

else:

print("您输入的日期为%d,超过%d月的最大天数%d天,请您依据提示再次输入" % (day, month, standard_day[month - 1]))

# 日期代码输入结束

# 第一段代码块(年月日输入)结束

# 第二段代码块(依据输入的年月日判断为该年的第几天)开始

print("-------------------------------------------------")

# 计算天数变量的初始化

sum_day = 0

# 月的约束条件,

# 当输入是month=1月时,(n=1)<(mont=1)时不成立,1月不计入月数累加

# 当输入是month=2月时,(n=1)<(mont=2)时成立,1月计入月数累加

# 依次类推

n = 1

# 循环计算上月及之前月份的累加和(天数)

while n < month:

sum_day += standard_day[n]

n += 1

# 计算总天数

sum_day += day

# 判断平润年,如果是平年,则直接输出,如果是润年,则使sum_day数值再加1,

if leap == 0:

print("您输入的%d年%d月%d日是该年的第%d天" %(year, month, day, (sum_day+1)))

else:

print("您输入的%d年%d月%d日是该年的第%d天" %(year, month, day, sum_day))

# 第二段代码块(判断该日期是该年的第几天)结束

# 第三段代码块(判断该天是星期几)开始

print("-------------------------------------------------")

from datetime import datetime

# datetime模块中有delta类,这个类的对象用于表示一个时间间隔,比如两个日期或者时间的差别

# 格式化输入时间

get_day = datetime(year,month,day)

# 格式化初始时间1970年1月1日 星期四

standard_day = datetime(1970,1,1)

# diff_day = get_day - standard_day 该段代码输出的为 1 days 00:00:00

# 输入日期与起始1970年1月1日 星期四 之间的相差天数diff_day

diff_day = (get_day - standard_day).days #经过修改过后,这样输出就是日期了

# 相差天数对7取余数

week_day = diff_day % 7

# week_day 余数加上1970年1月1日当天星期四的天数

week_day += 4

# 两者相加可能会大于7,if判断循环

if week_day >7:

week_day %= 7

print("您输入的%d年%d月%d日是星期%d" %(year, month, day, week_day))

else:

print("您输入的%d年%d月%d日是星期%d" %(year, month, day, week_day))

# 第三段代码块(判断该天是星期几)结束

# import sys

# sys.exit()结束程序循环

吴裕雄--天生自然python学习笔记:Python3 日期和时间

Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能. Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间. 时间间隔是以秒为单位的浮点小数. ...

Python练习笔记——计算个人体重指数

输入您的身高 体重 性别 计算出你的体重是否标准 gender = input('请输入您的性别(boy or girl):') height = input('请输入您的身高(单位cm):') he ...

Python练习笔记——对输入的数字进行加和

请您输入数字,每个数字采用回车结束,当您输入型号*时,则结束数字输入,输出所有数字的总和 def num_sum(): i = 0 while True: get_num = input(" ...

python练习笔记——计算1&sol;1-1&sol;3&plus;1&sol;5-1&sol;7……的和

1 / 1 - 1 / 3 + 1 / 5 - 1 / 7 + ....求100000个这样的分式计算之为是多少?将此值乘以4后打印出来,看看是什么? num_list = [] count = -1 ...

python小案例-计算输入两个数的最大公约数与最小公倍数

# 计算最大公约数 def gcd(x,y): """ 计算最大公约数 :param x:一个正整数 :param y:一个正整数 :return:x,y的最大公约数 & ...

Problem D&colon; 结构体:计算输入日期是该年的第几天

#include struct time{ int year; int month; int day;}; int main(void) { struct time s ...

Python中判断是否为闰年,求输入日期是该年第几天

#coding = utf-8 def getLastDay(): y = int(input("Please input year :")) m = int(input(&quo ...

Python编程从入门到实践笔记——用户输入和while循环

Python编程从入门到实践笔记——用户输入和while循环 #coding=utf-8 #函数input()让程序暂停运行,等待用户输入一些文本.得到用户的输入以后将其存储在一个变量中,方便后续使用 ...

Python datetime time 等时间 日期 之间的计算和相互转化

from datetime import datetime, date, timedelta, timezone from time import time, ctime, localtime, st ...

随机推荐

jdbc实现简单的增删改查

先是Book类. 略 然后一个主页,写一个表单,提交Book的信息到AddBook. 略 AddBook.jsp连接jdbc,并向Book表插入. <%@ page language=&quot ...

android异步加载图片并缓存到本地实现方法

图片过多造成内存溢出,这个是最不容易解决的,要想一些好的缓存策略,比如大图片使用LRU缓存策略或懒加载缓存策略.今天首先介绍一下本地缓存图片     在android项目中访问网络图片是非常普遍性的事 ...

jquery 列求和

列求和 var m = 0; $('#tb tr').each(function () { //td:eq(3)从0开始计数 $(this).find('td:eq(3)').each(functio ...

android代码实现关机

1.API没有开放,需要提升为syetem app级别! 2.android 模块编译,mm 命令 2.1.先进入顶层  source build/envsetup.sh 2.2.进入目录   m ...

Nimbus&lt&semi;三&gt&semi;Storm源码分析--Nimbus启动过程

Nimbus server, 首先从启动命令开始, 同样是使用storm命令"storm nimbus”来启动看下源码, 此处和上面client不同, jvmtype="-serv ...

Node&period;js之使用Buffer类处理二进制数据

Node.js之使用Buffer类处理二进制数据 Buffer类可以在处理TCP流或文件流时处理二进制数据,该类用来创建一个专门存放二进制数据的缓存区. 1. 创建Buffer对象 1.1 直接创建: ...

kubernetes 1&period;14安装部署dashboard

简单介绍: Dashboard是一个基于web的Kubernetes用户界面.您可以使用Dashboard将容器化应用程序部署到Kubernetes集群,对容器化应用程序进行故障诊断,并管理集群资源. ...

第四节:MVC中AOP思想的体现&lpar;四种过滤器&rpar;并结合项目案例说明过滤器的实际用法

一. 简介 MVC中的过滤器可以说是MVC框架中的一种灵魂所在,它是MVC框架中AOP思想的具体体现,所以它以面向切面的形式无侵入式的作用于代码的业务逻辑,与业务逻辑代码分离,一经推出,广受开发者的喜 ...

eos dapp开发

https://blog.csdn.net/u010665359/article/details/82906497

win7中调试Hotspot

预置: 1.Visual Studio 2010 2.CYGWIN(设置到path中) 3.jdk(设置到path中) 4.Framework4(系统如果有就不需要安装) 5.win7 sdk 7.1 ...

python输入数字翻译成星期几-Python练习笔记——计算输入日期为改年的第几天、星期几...相关推荐

  1. 把数字翻译成字符串python_把数字翻译成字符串(Python and C++解法)

    题目: 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 翻译成 "l",--,25 翻 ...

  2. 把数字翻译成字符串python_LeetCode 面试题46. 把数字翻译成字符串 | Python

    面试题46. 把数字翻译成字符串 题目 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 翻译成 " ...

  3. python中将数字转换成二进制数

    python中将数字转换成二进制数 256 128 64 32 16 8 4 2 1 1 0 1 0 1 0 1 1 0 这是快速得到342的方法 在python3.6中快速得到342的方法是使用bi ...

  4. 【算法】剑指 Offer 46. 把数字翻译成字符串

    1.概述 剑指 Offer 46. 把数字翻译成字符串 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 翻 ...

  5. 剑指 Offer 46. 把数字翻译成字符串(动态规划+回溯+递归 解法)

    剑指 Offer 46. 把数字翻译成字符串 问题描述 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 翻 ...

  6. leetcode 剑指 Offer 46. 把数字翻译成字符串

    剑指 Offer 46. 把数字翻译成字符串 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 翻译成 &q ...

  7. 【剑指Offer】个人学习笔记_46_把数字翻译成字符串

    目录 题目: [剑指 Offer 46. 把数字翻译成字符串](https://leetcode-cn.com/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan- ...

  8. 剑指offer46. 把数字翻译成字符串

    剑指 Offer 46. 把数字翻译成字符串 难度:中等 给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 "a" ,1 翻译成 "b",--,11 ...

  9. leetcode面试题46. 把数字翻译成字符串

    leetcode面试题46. 把数字翻译成字符串 给定一个数字,我们按照如下规则把它翻译为字符串:**0 翻译成 "a" ,1 翻译成 "b",--,11 翻译 ...

最新文章

  1. linux php7扩展查看,linux安装PHP7以及扩展
  2. 文件重定向(hook IRP_MJ_CREATE)
  3. python 知乎 合并 pdf_一键下载:将知乎专栏导出成电子书
  4. @Transactional事务不生效问题解决(springboot)
  5. 空间滤波_第三章 灰度变换与空间滤波-(六)锐化空间滤波器之拉普拉斯算子...
  6. 前端:CSS/08/框架
  7. 51单片机点亮数码管
  8. 软件测试学习笔记之工具江湖的神兵利器
  9. Unity3D游戏开发之MMD For Unity插件研究
  10. Laravel框架安装
  11. stm32下OLED屏的应用
  12. ImageUndistorted_Disparity
  13. shader镜面反射(Reflection)
  14. js获取视频长度的3种方法
  15. 1一9数字行书写法_数字1-9的标准写法-1~9的书写格式
  16. 旧金山犯罪预测与可视化分析
  17. 能量谷算法Energy Valley Optimizer (EVO)附matlab代码
  18. 最高法重新公布网络著作权司法解释
  19. 《追风筝的人》观后感
  20. root的家目录和普通用户的家目录

热门文章

  1. 北大计算机考研考什么时候,北大计算机考研复习计划有哪些
  2. linux内核丢弃udp报文,c++ Linux UDP数据包丢失的原因
  3. ftp可以传输什么类型文件_使用FTP文件传输典型案例配置
  4. java判断字符串中是否包含中文 过滤中文
  5. 我在Suse 11 Sp3上使用anaconda安装TensorFlow的过程记录
  6. Python中使用Flask、MongoDB搭建简易图片服务器
  7. Elasticsearch压缩索引——lucene倒排索引本质是列存储+使用嵌套文档可以大幅度提高压缩率...
  8. 使用vmware 报错 解决方法
  9. Mybatis优缺点
  10. 转 docker的下载与安装