前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >用Python制作万年历

用Python制作万年历

作者头像
算法与编程之美
发布于 2023-12-13 03:50:06
发布于 2023-12-13 03:50:06
4720
举报

1 问题

如何用Python制作2023年3月的万年历?

2 方法

所谓万年历,就是咱们电脑或者手机的日期会记录每个月每天对应星期几。用python来制作万年历,就是从键盘输入年份和月份,然后输出对应的日历表。

由于里面涉及到平年和闰年,所以需要先判断年份是平年还是闰年,同时之后求每个月天数时还要判断平年和闰年,首先要写一个判断函数leap_year()。然后,需要计算每个月的天数 ,其中需要注意2月份要判断平年和闰年,调用函数leap_year()即可。万年历从1990年1月1日开始,对应星期一。接下来我们计算输入年份year和月份month代表的日期,距离1990年1月1日的天数。

最后,进行显示函数,利用Input()函数从控制台输入。

代码清单 1

#判断平年和闰年 def leap_year(year): if(year%4==0 and year%100==0) or (year%400==0): return True else: return False #计算每个月的天数 def monthdays(year,month): if month==2: if leap_year(year): days=29 else: days=28 elif month in[4,6,9,11]: days=30 else: days=31 return days #计算总天数 def totaldays(year,month): yearday=0 for i in range(1990,year):#计算输入年份之前的 if leap_year(i): yearday+=366 else: yearday+=365 for i in range(1,month):#注意不能包括该月份 yearday+=monthdays(year,i) return yearday #显示函数 year=int(input("请输入年份:")) month=int(input("请输入月份:")) week=(totaldays(year,month))%7 #计算该月第一天是周几 print('一\t二\t三\t四\t五\t六\t日\t') for i in range(0,week): #前面打印week个空格 print("\t",end="") for i in range(1,monthdays(year,month)+1): #c从week+1的位置开始打印数字 if (totaldays(year,month)+i)%7==0: #天数为7的倍数时,记住要换行 print(i,end="\n") else: print(i,end="\t")

3 结语

针对用Python制作万年历的问题,提出使用if判断函数和定义leap_year()函数、monthdays()函数、totaldays()函数的方法,通过实验,证明该方法是有效的,此方法运用的知识常见易懂,但仍有不足或考虑不周的逻辑,未来可以继续研究更高级算法。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
c# 模拟window 操作鼠标|winapi
适合场景:LinkButton如果想要弹出右键菜单的时候,可以在Click事件中通过API模拟鼠标右击事件。
跟着阿笨一起玩NET
2018/09/18
1.3K0
Python PyWin32 模块
Python的生产效率极高,通过使用pypiwin32模块可以快速调用windows API函数,结合Python的高效开发能力,同等时间内比C++能更快的达到目标,pypiwin32模块封装了Win32下的常用定义,函数方法等。
王 瑞
2022/12/28
2.3K0
Python PyWin32 模块
在windows下模拟鼠标键盘输入的几种方法 (附带源代码)
在windows下模拟鼠标键盘输入的几种方法     最近小叮咚使用的服务器(第3方的asp服务器,不是iis)在启动后总是不能自动运行,可能里面有Bug,需要点击启动按钮后才能连接到internet
田春峰-JCJC错别字检测
2019/02/14
9K0
12.4 组播鼠标批量执行
组播模式相比单播模式可以提高网络的效率和带宽利用率,因为组播数据包只需要发送一次,就可以被多个接收者接收,而不需要每个接收者都单独发送一份数据包。这在需要同时向多个接收者发送相同数据的场景下特别有用,如视频会议、在线教育、流媒体等。组播模式可以减少网络拥塞,降低网络延迟,并且可以减少网络中的冗余数据。
王 瑞
2023/10/24
4250
12.4 组播鼠标批量执行
外挂基础_开挂的正确姿势
  所谓游戏外挂,其实是一种游戏外辅程序,它可以协助玩家自动产生游戏动作、修改游戏网络数据包以及修改游戏内存数据等,以实现玩家用最少的时间和金钱去完成功力升级和过关斩将。虽然,现在对游戏外挂程序的“合法”身份众说纷纭,在这里我不想对此发表任何个人意见,让时间去说明一切吧。
全栈程序员站长
2022/11/10
2.5K0
简单的WinForm模拟鼠标操作
需要做一个类似按键精灵的软件,通过后台数据进行控制鼠标对桌面上的图标进行自动点击控制。目前只是打通了鼠标的操作,还需要将程序做成可以后台运行及自动隐藏到右下角。先将鼠标移动和点击的方法记录下来以备以后的使用。。
谭广健
2022/08/22
1.6K0
【C语言】扫雷(可展开空白版与鼠标操作版)
扫雷游戏是一款经典的单人电脑游戏,最初由微软公司开发。玩家需要根据数字提示,在不触雷的情况下揭开所有格子。这是一款考验逻辑思维和运气的游戏,而我们将用C语言来实现它。
DevKevin
2024/03/19
1480
c#QQ连连看辅助
游戏辅助有三种方法,一种是读内存,这个不知道怎么分析,还有一种是获取封包,这个分析起来复杂,最后一种是图片识别再分析,这里采用最后一种 图片识别来做。
冰封一夏
2019/09/11
6980
【python自动化】Playwright基础教程(八)鼠标操作
playwright模拟鼠标操作,每个page对象都有自己的鼠标事件,可以通过page.mouse调用。
梦无矶小仔
2023/09/28
2.7K0
【python自动化】Playwright基础教程(八)鼠标操作
12.1 使用键盘鼠标监控钩子
本节将介绍如何使用Windows API中的SetWindowsHookEx和RegisterHotKey函数来实现键盘鼠标的监控。这些函数可以用来设置全局钩子,通过对特定热键挂钩实现监控的效果,两者的区别在于SetWindowsHookEx函数可以对所有线程进行监控,包括其他进程中的线程,而RegisterHotKey函数只能对当前线程进行监控。
王 瑞
2023/10/07
6050
12.1 使用键盘鼠标监控钩子
python win32api教程_解放双手——python win32api 入门「建议收藏」
put(str=”,flag=0):flag默认为0,则表示输入的字符串,为1:字符要表示的是快捷组合按键,快捷键要用空格分开
全栈程序员站长
2022/11/10
1.9K0
opencv锁定鼠标定位
淼学派对
2023/10/14
2360
opencv锁定鼠标定位
CSharp通过Websocket传输图片在WEB端显示及传递鼠标事件
这个代码示例提供了三个按钮,分别用于模拟鼠标的移动、点击和拖拽操作。在 btnMove_Click 中,我们首先获取当前鼠标光标的位置,并将其向右下角移动 10 个像素,然后等待 500 毫秒,最后将鼠标光标移回原来的位置。在 btnClick_Click 中,我们模拟了鼠标左键按下和抬起的事件。在 btnDrag_Click 中,我们模拟了鼠标的拖拽事件。
码客说
2023/05/31
8410
OpenCV-Python学习(15)—— OpenCV 鼠标操作和响应(cv.setMouseCallback)
1. 学习目标 学习如何在OpenCV中处理鼠标事件; 学习鼠标事件与回调; 学习鼠标事件回调函数的基本流程。 2. Callback 基本流程 3. 鼠标事件 cv.setMouseCallback 函数说明 3.1 cv.setMouseCallback() 函数使用 cv.setMouseCallback(winname,onMouse,userdata) 3.2 参数说明 参数 说明 winname 表示监听鼠标事件的窗口。 onMouse 表示响应函数,即当鼠标事件触发时调用的函数。 user
Rattenking
2022/11/21
1.8K0
OpenCV-Python学习(15)—— OpenCV 鼠标操作和响应(cv.setMouseCallback)
python模拟鼠标点击window图标
#python模拟点击是通过pymouse实现的,首先要安装pymouse。 pip install python-xlib pip install pymouse #安装win32api: http://down.51cto.com/data/2326324 #python打开windos程序的方式: #coding=utf-8 import os os.startfile('E:\youxi\Correspond.exe') #python pymouse的简单应用: #python模拟鼠标 #codi
py3study
2020/01/09
3.1K0
《最新出炉》系列入门篇-Python+Playwright自动化测试-45-鼠标操作-下篇
鼠标为我们使用电脑提供了很多方便,我们看到的东西就可以将鼠标移动过去进行点击就可以打开或者访问内容,当页面内容过长时,我们也可以使用鼠标滚轮来实现对整个页面内容的查看,其实playwright也有鼠标操作的方法。上一篇文章中已经讲解过鼠标的部分操作了,今天宏哥在这里将剩下的其他操作进行一个详细地介绍和讲解。
北京-宏哥
2024/05/06
3060
【从零学习OpenCV 4】鼠标响应
经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍《从零学习OpenCV 4》。为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通,提前在公众号上连载部分内容,请持续关注小白。
小白学视觉
2019/12/13
1.2K0
番外篇: 鼠标绘图
OpenCV中,我们需要创建一个鼠标的回调函数来获取鼠标当前的位置、当前的事件如左键按下/左键释放或是右键单击等等,然后执行相应的功能。
CodecWang
2021/12/07
7860
番外篇: 鼠标绘图
Python在windows下模拟按键和鼠标点击代码
这段代码可以模拟在窗口上按下按键、鼠标左键点击、鼠标右键点击、鼠标双击等等 # * coding:UTF-8 * import win32api import win32con import win32gui from ctypes import * import time VK_CODE = { 'backspace':0x08, 'tab':0x09, 'clear':0x0C, 'enter':0x0D, 'shift':0x10, 'ctrl':0x1
用户8983410
2021/11/03
1.9K0
硬核教程 - 使用Rust编写网游FPS外挂辅助
优势:Rust没有GC 效率和C++一样快 本贴子主要用于观摩和学习调用windows api,禁止用于某些用途
MikeLoveRust
2020/07/16
2.1K0
推荐阅读
相关推荐
c# 模拟window 操作鼠标|winapi
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档