python生成日历书上哪里错了_python生成日历 - osc_a5pzxo31的个人空间 - OSCHINA - 中文开源技术交流社区...
日历是以1900年1月1日 为基础的 那天的星期1是
# 判断是否是闰年
def rn(i):
# 判断是不是闰年
if (i % 400 == 0) or (i % 4 == 0 and i % 100 != 0):
return True
else:
return False
# 计算总天数
def days(y, m):
# 总年数
leap_year = []
common_year = []
for i in range(1900, y):
if rn(i):
leap_year.append(i)
else:
common_year.append(i)
# 本年之前总天数
y_days = 366*len(leap_year) + 365*len(common_year)
# 本年本月之前总天数
m_days = 0
if m == 1:
m_days = 0
elif m == 2:
m_days = 31
elif m == 3:
if rn(y):
m_days = 60
else:
m_days = 59
elif m == 4:
if rn(y):
m_days = 91
else:
m_days = 90
elif m == 5:
if rn(y):
m_days = 121
else:
m_days = 120
elif m == 6:
if rn(y):
m_days = 151
else:
m_days = 150
elif m == 7:
if rn(y):
m_days = 182
else:
m_days = 181
elif m == 8:
if rn(y):
m_days = 213
else:
m_days = 212
elif m == 9:
if rn(y):
m_days = 244
else:
m_days = 243
elif m == 10:
if rn(y):
m_days = 274
else:
m_days = 273
elif m == 11:
if rn(y):
m_days = 305
else:
m_days = 304
elif m == 12:
if rn(y):
m_days = 335
else:
m_days = 334
all_days = y_days + m_days
return all_days
# 判断本月第一天是星期数
def f_day(all_days):
week = 0
if all_days % 7 == 0:
week = 1
elif all_days % 7 == 1:
week = 2
elif all_days % 7 == 2:
week = 3
elif all_days % 7 == 3:
week = 4
elif all_days % 7 == 4:
week = 5
elif all_days % 7 == 5:
week = 6
elif all_days % 7 == 6:
week = 7
return week
# 判断需要显示月份当月天数
def m_d(y, m):
m_30 = [4, 6, 8, 9, 11]
m_31 = [1, 3, 5, 7, 8, 10, 12]
if rn(y) and m == 2:
m_day = 29
else:
if m in m_31:
m_day = 31
elif m in m_30:
m_day = 30
else:
m_day = 28
return m_day
# 打印日历
def cal(m_day, week):
# 第一行
# print(m_day)
s1 = '星期日' + 3*' ' + '星期一' + 3*' ' + '星期二' + 3*' ' + '星期三' + 3*' ' + '星期四' + 3*' ' + '星期五' + 3*' ' + '星期六'
print(s1)
if week == 7:
for i in range(1, m_day+1):
if i < 10:
s = 2 * ' ' + str(i) + 4 * ' '
else:
s = 2 * ' ' + str(i) + 3 * ' '
print(s, end='')
if (i + len(s)) % 7 == 0:
print('')
else:
# week不是星期日的,需要往后移动week个位置
print(8*week*' ', end='')
for i in range(1, m_day+1):
if i < 10:
s = 3 * ' ' + str(i) + 4 * ' '
else:
s = 3 * ' ' + str(i) + 3 * ' '
print(s, end='')
if (week + i) % 7 == 0:
print('')
if __name__ == '__main__':
y = int(input('请输入年份'))
m = int(input('请输入月份'))
all_days = days(y, m)
week = f_day(all_days)
print(week)
m_day = m_d(y, m)
print(m_day)
cal(m_day, week)
python生成日历书上哪里错了_python生成日历 - osc_a5pzxo31的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐
- python变量无需指定类型对吗_Python变量类型 - osc_3rgq3dae的个人空间 - OSCHINA - 中文开源技术交流社区...
变量存储在内存中的值,这就意味着在创建变量时会在内存开辟一个空间. 基于变量的数据类型,解析器会分配指定内存,并决定什么数据可以被存储在内存中. 因此变量可以指定不同的数据类型,这些变量可以存储整数. ...
- python 过采样 权重实现_不平衡数据集的处理 - osc_sqq5osi1的个人空间 - OSCHINA - 中文开源技术交流社区...
一.不平衡数据集的定义 所谓的不平衡数据集指的是数据集各个类别的样本量极不均衡.以二分类问题为例,假设正类的样本数量远大于负类的样本数量,通常情况下通常情况下把多数类样本的比例接近100:1这种情况下 ...
- python作业大全_Python作业汇总 - osc_p8sbsl3n的个人空间 - OSCHINA - 中文开源技术交流社区...
1. info = 'abc' info[2] = 'd' 结果是什么,为什么会报错呢? info[2]已赋值,不能再次赋值."str"对象不支持项目分配 2. 如果要把上面的字符 ...
- python列表去重效率_python面试题 - osc_yztbpii7的个人空间 - OSCHINA - 中文开源技术交流社区...
1.一行代码实现1--100之和 In [1]: sum(range(1,101)) Out[1]: 5050 1-100求和 2.如何在一个函数内部修改全局变量 a=520 deffun():glo ...
- python 条件表达式换行_Python基础语法 - LongKing-Xu的个人空间 - OSCHINA - 中文开源技术交流社区...
python基础语法 一.标识符 在Python中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. 在Python中的标识符是区分大小写的. 在Python中以下划线开头的标识符是有 ...
- python语言是由谁设计并领导开发的_python语言概述 - osc_lt3ocv4d的个人空间 - OSCHINA - 中文开源技术交流社区...
python语言的发展 python语言诞生于1990年,由Guide van Rossum设计并领导开发. python语言是开源项目的优秀代表,其解释器的全部代码都是开源的. 编写Hello程序 ...
- python数值运算操作符也叫做内置操作符_Python的操作符 - osc_r1gtal48的个人空间 - OSCHINA - 中文开源技术交流社区...
一.数值运算符 python提供了9个基本的数值运算符,这些运算符由编译器直接提供,所以叫做内置运算符(操作符): 运算符 功能 + 加 - 减 * 乘 / 除 % 模 ** 幂 // 整除 -i 负 ...
- python剪切文件_python剪切文件 - osc_42713235的个人空间 - OSCHINA - 中文开源技术交流社区...
心血来潮,手机上导出的图片全部按日期放在不同文件夹,很是麻烦,想放在一起方便浏览,手动操作费时费力,想到bat命令,不是很熟,看到python欣喜不已,很是方便 递归遍历文件,剪切出来,删除空文件夹 ...
- python日常工作_python日常工作 - osc_sd6j22mg的个人空间 - OSCHINA - 中文开源技术交流社区...
分析nginx日志,得出用户ip及用户相关信息.(访问次,流量量大,相应时间) logip = {'1.1.1.1':[200,20M,1S],} 'please' enter your want i ...
最新文章
- .Net 2.0 事件机制,更简化了...
- TCP 三次握手 和 四次挥手
- java怎么复制别人的数据库_java-如何在不使用Apache DDLUtils的情况下使用JDBC将模式从一个数据库复制到另一个数据库?...
- 就会编成新闻稿的飞鸽传书
- 【hive】hive权限
- pythonios脚本语言-iOS开发Swift篇—(一)简单介绍
- Windows 7如何限制运行特定的应用程序(转载)
- 怎么会Sql serverW数据库模型图转化成ord于--您还可以查看属性信息字段
- 拔染印花几点注意事项
- 写偏斜(Write Skew)和丢失更新(Lost Updates)区别
- python输出文件夹路径_python如何获取文件夹下第一层文件的路径,
- java关键字 final static
- 微信小程序下拉刷新不回弹
- 《问佛》——仓央嘉措
- 毕业生最大感伤:穷!
- ubuntu 18.04 卸载firebox
- 数据库操作之导入导出dmp
- GrabCut图像分割
- 阿里云PAI平台模型压缩技术落地淘宝直播双十一应用:一猜到底
- 最全各种浏览器网页星号点号密码查看最简方法(技术小白也能看懂使用)
热门文章
- Linux快速工作使用指令经验(持续更新)
- 开源自制6通道航模遥控器,Arduino Pro Mini NRF24L01模块
- 五天带你学完《计算机网络》·第三天·传输层
- 发布至今18年,为什么SQLite一定要用C语言来开发?
- Android Studio 错误: 非法字符: #39;\ufeff#39; 解决方式|错误: 须要class, interface或enum...
- [体感游戏]关于体感游戏的一些思考(三) --- 射击
- Asp.Net_Mvc_IgnoreRoute
- linux 查看文件夹大小 du命令
- 一个讲解WiFi和蓝牙协议的视频课程网站
- python读取指定字节长度的文本