python写万年历_python万年历
'''
万年历
b:根据用户输入的年,先判断是否是闰年。
C:根据用户输入的月来判断月的天数
D:用循环计算用户输入的年份距1900年月1日的总天数。
E:用循环计算用户输入的月份距输入的年份的1月1日共有多少天。
F:相加D与E的天数,得到总天数。
G:用总天数来计算输入月的第一天的星期数。
H:根据G的值,格式化输出这个月的日历!
'''
def leap_year(year):
return True if (year%4 == 0 and year%100 != 0) or year%400 == 0 else False
# print(leap_year(2000))
#c
def Day(year, month):
ping_year = [31,28,31,30,31,30,31,31,30,31,30,31]
if leap_year(year):
ping_year[1] = 29
return ping_year[month-1]
# print(Day(2019,11))
#d
def how_day(year,month):
day = 0
for i in range(1900,year):
day += 366 if leap_year(i) else 365
for j in range(1, month):
day += Day(year, j)
return day
print(how_day(1900,2))
#e
def month_day(year, month):
days = 0
ping_year = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
for i in range(1,month):
if leap_year(year):
ping_year[1] = 29
days = days + ping_year[i-1]
else:
days = days +ping_year[i-1]
return days
# print(month_day(2020,5))
#f
def zong_day(year, month):
sum2 = how_day(year, month)
return sum2
# print(zong_day(2020,11))
#G
def week(year, month):
WEEK = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]
return WEEK[(how_day(year,month)+1)%7]
# print(week(2020,10))
#H
def show():
year = int(input("输入年份:"))
month = int(input("输入月份:"))
print("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六")
msum_day=how_day(year,month)
mweek=(msum_day + 1) % 7
mmonth_day=Day(year, month)
for j in range(mweek):
print('\t\t',end="")
for i in range(1,mmonth_day+1):
if (mweek + i) %7 == 0:
print(str(i)+"\t\t",end="")
print()
else:
print(str(i) + "\t\t", end="")
show()
总结:(代码可以复制粘贴,逻辑思维要有)
万年历确实是一个很考验基本功的题目
要考虑的因素很多比如平年,闰年,输入-2000,月份啊,天数啊,简单点就是,""用户""贼搞事情,不输入年月日,
给你整一堆花里花哨的输入,........当然我是没考虑这些哈哈哈,懒,还有就是麻烦,不考虑极端因素
但是最基本的就是你要考虑平年闰年,星期几的问题,我输出的时候,对应的日期是不是在对应的星期下面等等
对于函数的运用,逻辑都是一个考验,函数的封装调用,优化代码,都是靠自己想的,别说ctrl+c,ctrl+v, run一下 好了,那你凉透透的了
我现在,写的这个代码还是可以优化的,这代表着我现在目前这个阶段的一个思维逻辑,以后可能再回来看,可能就觉得自己傻啊,这个,这个啥啥的,原来可以优化,毕竟现在也是入门级
我专门百度了一下这个万年历的方法,发现一个博主写的贼溜,直接导包(import datetime, date, timedelta)如何直接用,哈哈哈
机智的一批,当然,我们的目的是实现这个功能是可以用,要是是为了锻炼直接的思维逻辑还是要自己写的哈
python写万年历_python万年历相关推荐
- python写表格_python写入表格
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! import xlwt #导入xlwt 库 book =xlwt.workboo ...
- python万年历_python万年历
''' 万年历 b:根据用户输入的年,先判断是否是闰年. C:根据用户输入的月来判断月的天数 D:用循环计算用户输入的年份距1900年月1日的总天数. E:用循环计算用户输入的月份距输入的年份的1月1 ...
- 怎么用python写名字_python中的__name__ 到底是个什么玩意?应该怎么用到它?
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:Python进击者 ( 想要学习Python?Pyth ...
- python写负数_python 负数
python基础知识 python_1 Python解释器 CPython C语言开发的Python解释器,最广泛 IPython 一个交互式.功能增强的CPython Pypy Python语言写的 ...
- python写音乐_Python国产库推荐之musicpy:让你用代码来写音乐
你想过用代码来写音乐吗?这里给大家介绍一个国人写的库 musicpy,让你用简洁的语法通过乐理逻辑写出优美的音乐. 这个库可以让你用非常简洁的语法,来表达一段音乐的音符,节奏等等信息,并且可以简单地输 ...
- 怎么用python写数据库_Python实现数据库编程方法详解
本文实例讲述了Python实现数据库编程方法.分享给大家供大家参考.具体分析如下: 用PYTHON语言进行数据库编程, 至少有六种方法可供采用. 我在实际项目中采用,不但功能强大,而且方便快捷.以下是 ...
- python写情书_Python程序员用文字加密的方式,给女程序员写情书,一周后牵手回家_TONOW...
谁说程序员不浪漫,尤其是Python程序员,对文字加密后,写情书只有特定的人才能看懂. image 在某公司,有这样一位Python程序员,我们叫他小福,由于性格比较内向,一直没有女朋友,直到今年6月 ...
- python写驱动程序_Python 我的第一个程序
第一个python程序就出错,帮我看看 新手如何运行第一个python程序你知道最绝望的事是什么吗,是你见过最美的一棵树,那棵树不在了,你知道这辈子你都不会再遇见那么美的树了,永远不会,于是你看见森林 ...
- python写循环_Python 循环
要计算1+2+3,我们可以直接写表达式: 要计算1+2+3+...+10000.直接写表达式就不太可能了.为了让计算机能计算成千上万次的重复运算,我们就需要循环语句. Python的循环有两种,一种是 ...
- python写我爱你_Python初体验之我爱你
前言 大家好,我是阿皮.接下来的一段时间就让我们一起学习python吧! 阿皮会和大家一起学习,因为阿皮也是一个小白呢!(当然阿皮报了某编程的课,不会误导大家的,阿皮会结合自己的理解和大家分享的) 阿 ...
最新文章
- New Android Application 的介绍
- C#计时器,记录程序运行时长
- [翻译]How JavaScript Timers Work
- python使用xlrd库处理excel__API常见基本操作
- Zephyr OS 内核篇: 内核链表
- javascript:this 关键字
- 玩转GIT系列之【git submodule update出错提示子模组未对路径注册】
- java编写猫抓老鼠程序_Java抓鱼程序
- Spring 静态代理+JDK动态代理和CGLIB动态代理
- 苹果手机屏幕镜像搜索不到电视_康佳电视投屏不了,3个办法解决!
- 17 CoCos Creator-Node Tree 层级管理器
- python的自省机制
- atomic头文件编译_c++11 多线程(3)atomic 总结
- Boot Option中没有USB启动选项的解决办法
- 讯飞翻译机抢镜背后,跨语种沟通迈入全新时代
- php文字超出省略号,文字超过规定行数时自动生成省略号
- 绝顶高手是这样快速画美女的!
- 【soft6星评论】伯俊软件借用中台撬动新一轮互联网化
- [渝粤教育] 中国矿业大学 货币金融学 参考 资料
- css一个点,用纯CSS从一个点到另一个点绘制一条线(路径)
热门文章
- 研究生生存指南之论文
- Linux 网易云音乐问题汇总
- 计算机为什么逻辑判断准确,逻辑判断之评价型答题技巧
- 禾川伺服驱动器X2E-750调试记录
- 软件等于计算机程序加数据加什么,南航计算机软件数据结构上机实践报告
- Cocos2dx之UI组件
- java计算机毕业设计基于安卓Android的团务智慧管理APP(源码+系统+mysql数据库+Lw文档)
- mysql必须记住的单词_如何真正记住英语单词?
- CSS的三种引入方式(行内样式、内部样式、外部样式)
- 使用python的netCDF4库读取.nc文件 和 创建.nc文件