本文实例为大家分享了python实现简单日历的具体代码,供大家参考,具体内容如下

首先要理清楚逻辑,日历的难点在于如何使用基础知识将周几与对应的日期进行对应,我这里利用了1917年1月1日为星期1,计算累计到我们要查询的月份的天数来确定所查询月份的第一天为周几.

# 输出日历界面

print("*" * 50)

print("欢迎使用【天天日历】v2.0")

# 接收用户输入的年份

year_int = int(input("请输入年份:\n"))

# 定义全局变量用于记录天数总和

sum = 0

if year_int >= 1917:

month_int = int(input("请输入月份\n"))

for year_every in range(1917, year_int): # 遍历从1917年到用户输入年份 用于计算到用户所输入年份共多少天

if (year_every % 4 == 0 and year_every % 100 != 0) or \

year_every % 400 == 0: # 如果是瑞年则366天否则平年365天

sum += 366

else:

sum += 365

for month_every in range(1, month_int): # 遍历月份用于计算由1月份到用户输入月份的总天数

if month_every == 4 or month_every == 6 or \

month_every == 9 or month_every == 11:

sum += 30

elif month_every == 2:

if (year_int % 1 == 0 and year_int % 100 != 0) or \

year_int % 400 == 0:

sum += 29

else:

sum += 28

else:

sum += 31

# 定义变量用于定义每个月的天数

day = 0

# 定义变量 用于计算当月第一天为周几

weak = sum % 7

print("日\t一\t二\t三\t四\t五\t六")

# 判断用户输入月份为多少天

if month_int == 4 or month_int == 6 or month_int == 9 or month_int == 11:

day = 30

elif month_int == 2:

if (year_int % 4 == 0 and year_int % 100 != 0) or \

year_int % 400 == 0:

day = 29

else:

day = 28

else:

day = 31

# 输出指定空格数让第一天与周几对齐

print("\t"*weak,end="")

i = 1

while i <= day: # 遍历用户查询月份

weakend = ((sum+i)-1)% 7

# 如果余数为6 换行否则输出空格

if weakend == 6:

print("%d" %i)

else:

print(i,end="\t")

i += 1

else:

print("系统正在维护暂时无法获取1917年之前的信息")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: 基于python实现简单日历

本文地址: http://www.cppcns.com/jiaoben/python/235982.html

python实现日历功能_基于python实现简单日历相关推荐

  1. python实现离线翻译_基于python实现百度翻译功能

    运行环境: python 3.6.0 今天处于练习的目的,就用 python 写了一个百度翻译,是如何做到的呢,其实呢就是拿到接口,通过这个接口去访问,不过中间确实是出现了点问题,不过都解决掉了 先晾 ...

  2. 用python做炒股软件-python程序源码_基于python的炒股软件

    股票模拟交易系统设计与实现 不但能够进行界面的设计,还可以实现各个窗口的关联,通过WPF实现和其余窗口的关联,而且WPF中的类不但能够和其中一个窗口进行关联,还可以跟许多功能操作接口,WPF在对窗口对 ...

  3. python 工资管理软件_基于[Python]的员工管理系统

    基于[Python]的员工管理系统 -------------------------------- 简介 使用python语言来完成一个员工管理系统,员工信息包含:员工工号,姓名, 年龄,性别,职位 ...

  4. python实现实时监控_基于 Python 的交换机实时监控系统的设计与实现

    从高校校园网运维工作实际出发,论文提出了一种基于 Python 语言+SNMP协议的网络交换机监测系统设计思路与实现方法.整个系统系统采用B/S模式,基于轻量级的web开发框架web.py实现.后端采 ...

  5. 用python设计学生管理系统_基于python和tkinter实现的一个简单的学生信息管理系统...

    一个简单的学生信息管理系统基于python和tkinter 1.需求分析1.大学生信息管理系统使用tkinter接口创建一个窗口.使界面更漂亮.2. 实现与数据库的连接,教师和学生的信息可以保存或读取 ...

  6. python生成json接口_基于python的Flask框架写json接口并且结合eolinker进行接口测试

    一.前言 很多时候为了提高软件开发的效率,后端程序人员理想状态下应该编写程序测试接口供前端程序人员进行测试,以便前端的开发.笔者由于项目的需求近期尝试学习了一下测试接口的编写,以Python+Flas ...

  7. 基于python的性能测试工具_基于 Python 的性能测试工具 locust 与 LR 的简单对比[转发]...

    背景 最近自己开发了一个小的接口,功能测完了,突然想测下性能,原来做性能测试,我一直用的是HP的LoadRunner,前一段时间正好看过locust,想想就用这个来测测性能吧. 由于对LR比较熟,正好 ...

  8. python交互式数据可视化_基于Python实现交互式数据可视化的工具,你用过几种?...

    作者:Alark Joshi 翻译:陈雨琳 来源:数据派THU(ID:DatapiTHU) 我教授了一门关于数据可视化的数据科学硕士课程.我们的数据科学硕士项目是一个为期15个月的强化项目,这个项目已 ...

  9. python语法元素测试_基于python全局设置id 自动化测试元素定位过程解析

    背景: 在自动化化测试过程中,不方便准确获取页面的元素,或者在重构过程中方法修改造成元素层级改变,因此通过设置id准备定位. 一.python准备工作: 功能:用自动化的方式进行批量处理. 比如,你想 ...

最新文章

  1. Redis 之布隆过滤器与布谷鸟过滤器
  2. java 上传视频并播放_java实现视频上传和播放..doc
  3. 利用SQL语言表达复杂查询
  4. Java虚拟机:常见JVM参数配置和GC性能优化
  5. NLP, 知识图谱参考资源
  6. ngrok服务器搭建_利用暴露在外的API,无法检测的Linux恶意软件将矛头指向Docker服务器...
  7. python画子图_Python使用add_subplot与subplot画子图操作示例
  8. ZZULIOJ 1112: 进制转换(函数专题)
  9. isis软件_小白学单片机:单片机电路仿真利器-Protues仿真软件的使用(1)
  10. 时间格式化及操作(moment.js篇)
  11. SecureRandom-随机数的生成
  12. [合作] 钢结构结构健康监测研究与实验
  13. OWASP Hakcing Lab在线漏洞环境
  14. SqlServer-RBAC五表权限
  15. 【计算机网络基础】URI、URN和URL的区别
  16. 泛函分析 04.02 有界线性算子 - 有界线性算子空间的收敛与完备性
  17. ISO 3166-1标准国家代码表
  18. activity has leaked window
  19. 华为认证数通方向证书的职业规划和就业选择
  20. 中南大学计算机学院研究生录取分数线,2021中南大学

热门文章

  1. pycharm 常用插件,常用插件推荐
  2. mamp mysql 密码,设置/修改 phpmyadmin 密码 (MAMP)
  3. 产后大出血护理查房PPT模板
  4. 2014年终总结——英语流连忘返
  5. c++进阶项目—基于多态的职工管理系统
  6. 3星|刘韩《人工智能简史》:从编程语言和算法的角度
  7. 人力资源?背完这个你肯定挂了
  8. python创建动态变量并赋值
  9. 《阿里聚安全2016年报》
  10. MPS——首款 消费类 PD 协议芯片:MP5031