python实现日历效果

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

一、代码编程过程

1、根据年月日算出星期几

def get_week_with_data(y,m,d):
    '''根据年月日计算星期几'''
    y = y - 1 if m == 1 or m == 2 else y
    m = 13 if m == 1 else (14 if m == 2 else m)
    w = (d + 2 * m + 3 * (m + 1) // 5 + y + y // 4 - y // 100 + y // 400) % 7 + 1
    return w

2、判断年份是否是闰年

def is_leap_year(y):
    if y%400==0 or (y%4==0 and y%100!=0):
        return True
    return  False

3、根据月份判断天数

def get_days_in_month(y,m):
    if m in [1, 3, 5, 7, 8, 10, 12]:
        return 31
    elif m in [4, 6, 9, 11]:
        return 30
    else:
        return 29 if is_leap_year(y) else 28

4、根据用户输入年份和月份,自动生成一个日历

'''1.提示用户输入年月'''
year=int(input("请输入年份:"))
mouth=int(input("请输入月份:"))

'''2.计算这个月有多少天'''
days=get_days_in_month(year,mouth)
'''3.按照指定格式显示日期'''
print('一 二 三 四 五 六 日')
print('-'*20)
for i in range(1,days+1):
    w=get_week_with_data(year,mouth,i)
    if i==1:
        print(f"{' '*(w-1)*3}",end="")
    else:
        if w==1:
            print("")
    print(f"{i:2d}",end=' ')
print("")

二、代码运行效果图

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

(0)

相关推荐

  • Python创建日历实例

    本文讲述了Python创建日历的方法,与以往不同的是,本文实例不使用Python提供的calendar实现,相信对大家的Python程序设计有一定的借鉴价值. 此程序在windows下测试通过,由于python字符编码直接输出给操作系统,so win下以gbk ansi为准,linux下大概以utf-8为准(未测试) #coding=gbk # -*- coding: cp936 -*- # 制作一个日历(只显示阳历日期) '''实现方法:不使用python提供的calendar,根据给出的日期

  • Python tkinter 下拉日历控件代码

    tkinter 下拉日历控件 网上找的不完善的Tk日历进行修改的,可以快捷的找到并返回日期. 效果如下图,上面的是控件,下面的是调用demo窗口 如下所示: # -*- coding: utf-8 -*- import calendar import tkinter as tk import tkinter.font as tkFont from tkinter import ttk datetime = calendar.datetime.datetime timedelta = calend

  • Python实例教程之检索输出月份日历表

    一.题目要求与分析 根据输入的年和月,打印该月的日历.如图所示: 题目分析:复杂的问题往往很简单,只需要找到拆分点即可,就像这种题可以分为三个函数:    函数1: 计算并返回某年某月某日是星期几:    函数2: 判断某年是否是闰年:    函数3:打印所给年月的日历. emmm--这么一分析可能会引起很多人若有所思,对的,你的现在的思路完全正确,之所以要判定某一个日子是星期几是因为我们要知道每月的1号是周几才行(注意找日历的规律),那之所以要判定是否是闰年是因为有了二月份这一特殊的存在,最后

  • python输出指定月份日历的方法

    本文实例讲述了python输出指定月份日历的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/python import calendar cal = calendar.month(2008, 1) print "Here is the calendar:" print cal; 运行结果如下: Here is the calendar: January 2008 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13

  • 基于python实现简单日历

    本文实例为大家分享了python实现简单日历的具体代码,供大家参考,具体内容如下 首先要理清楚逻辑,日历的难点在于如何使用基础知识将周几与对应的日期进行对应,我这里利用了1917年1月1日为星期1,计算累计到我们要查询的月份的天数来确定所查询月份的第一天为周几. # 输出日历界面 print("*" * 50) print("欢迎使用[天天日历]v2.0") # 接收用户输入的年份 year_int = int(input("请输入年份:\n")

  • python使用calendar输出指定年份全年日历的方法

    本文实例讲述了python使用calendar输出指定年份全年日历的方法.分享给大家供大家参考.具体实现方法如下: import calendar print "Show a given years monthly calendar" print '' year = int(raw_input("Enter the year")) print '' calendar.prcal(year) print '' 希望本文所述对大家的Python程序设计有所帮助.

  • python生成日历实例解析

    本文实例展示了Python生成日历的实现方法.该实例可实现一个月的日历生成5x7的列表,列表里的没个日期为datetime类型,采用python自带的 calendar 模块实现. 程序运行结果如下: python test.py 2014 09 2014-08-31 2014-09-01 2014-09-02 2014-09-03 2014-09-04 2014-09-05 2014-09-06 2014-09-07 2014-09-08 2014-09-09 2014-09-10 2014-

  • Python如何绘制日历图和热力图

    本文以2019年全国各城市的空气质量观测数据为例,利用matplotlib.calmap.pyecharts绘制日历图和热力图.在绘图之前先利用pandas对空气质量数据进行处理. 2019年全国各城市空气质量观测数据来源于:https://beijingair.sinaapp.com. 数据处理 从网站下载的数据为逐小时数据,每天一个文件.如果要绘制全年的日历图或者热图,首先要将所有的数据进行合并处理. 下载好数据之后,将数据解压到当前目录的2019文件夹内,然后处理数据: import gl

  • 用python自动生成日历

    效果 在Excel日历模板的基础上,生成带有农历日期.节假日.休班等信息的日历,解决DIY日历最大的技术难题. 图中日期,第一行为公历,第二行为节假日,第三行为农历,第四行是其他特别的日子,比如生日.纪念日等. 特点 使用门槛低 Python + Excel,会运行Python脚本,会使用Excel即可上手. 步骤简单 只需要修改Excel的年份(在一月份表头修改),运行一次脚本 可扩展 可制作任意年份的日历(修改年份即可) 可定制 可以添加其他特殊日期 使用手册 第一步,修改日历年份及样式 打

  • python实现日历效果

    本文实例为大家分享了python实现日历效果的具体代码,供大家参考,具体内容如下 一.代码编程过程 1.根据年月日算出星期几 def get_week_with_data(y,m,d): '''根据年月日计算星期几''' y = y - 1 if m == 1 or m == 2 else y m = 13 if m == 1 else (14 if m == 2 else m) w = (d + 2 * m + 3 * (m + 1) // 5 + y + y // 4 - y // 100

  • python实现分页效果

    本文实例为大家分享了python实现分页效果展示的具体代码,供大家参考,具体内容如下 难点:清空Layout #!/usr/bin/python #-*-coding:utf-8-*- from PyQt4.QtCore import * from PyQt4.QtGui import * class PageWidget(QWidget): def __init__(self,parent=None): super(PageWidget,self).__init__(parent) self.

  • Vue.js创建Calendar日历效果

    使用 Vue.js 进行数据与视图的绑定,数据更新会让视图自动进行更新,类似 Android 里面的 DataBinding. 实现一个HTML的日历效果. html 部分 <div id="calendar"> <!-- 年份 月份 --> <div class="month"> <ul> <li class="arrow" @click="pickPre(currentYear,

  • js实现会跳动的日历效果(完整实例)

    一.简介 编写一个会动的日历,日历上面有年月日,周几,时分秒,效果如下: 年月日,周几,时分秒都会随着系统时间的走动而改变 二.代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scal

  • 原生js实现仿window10系统日历效果的实例

    舞动的灵魂版js日历,完全采用js实现,故而实现了与语言无关,jsp.asp.net php asp均可使用.无论你是开发软件,还是网站,均是不可或缺的实用代码. 该日历主要实现了获取当前时间时分秒,年月日星期,动态生成选择年的select,月的select,然后根据你所选中的年月,显示该年月对应的这一个月的日期. 点击上一个月,下一个月按钮,在下拉列表中显示对应的年月. <!DOCTYPE html> <html lang="en"> <head>

  • js编写当天简单日历效果【实现代码】

    之前一直很想用javascript写一个日历,但是因为完全没有好的思路, 所以迟迟没有尝试.最近在网上刚好看到用javascript编写的简单日历的例子,代码量虽然不大, 但是我觉得很好地阐述了js日历的实现原理.自己也尝试着做了一下,收获蛮大,掌握了基本的实现原理后,再想增加更多的功能,完全就可以自由发挥了,先在这里分享一下吧,有兴趣的可以试试! 一.表格行数问题 既然要显示日期表格的话,首先得知道这个表格有多少行多少列,列数是已经确定的,从星期天(日历上第1列是星期天)到星期六一共7列.要解

  • 微信小程序实现日历效果

    本文实例为大家分享了微信小程序实现日历效果的具体代码,供大家参考,具体内容如下 效果预览: wxml部分: <view class='box1' style='width: {{ sysW * 7 }}px'> <view class='dateBox'>{{ year }} - {{ month}}</view> <block wx:for='{{ weekArr }}'> <view style='width: {{ sysW }}px; heig

  • javascript实现日历效果

    本文实例为大家分享了js实现日历效果的具体代码,供大家参考,具体内容如下 <!doctype html> <html> <head> <meta charset="gb2312"> <title>万年历</title> <script type="text/javascript"> var lunarInfo = new Array( 0x04bd8, 0x04ae0, 0x0a57

随机推荐