精华内容
下载资源
问答
  • 用python制作日历

    千次阅读 2020-02-29 00:05:15
    写一个函数用来打印通用日历表,即对任何给定的年和月份,能按下图正确打印对应的日历表: 代码如下: def is_leap_year(year): if year % 4 == 0 and year%100!=0 or year % 400 == 0: return True else: ...
    1. 写一个函数用来打印通用日历表,即对任何给定的年和月份,能按下图正确打印对应的日历表:
      在这里插入图片描述

    代码如下:

    def is_leap_year(year):
        if year % 4 == 0 and year%100!=0 or year % 400 == 0:
            return True
        else:
            return False
    
    def get_day_of_month_num(year,month):
        if month in(1,3,5,7,8,10,12):
            return 31
        elif month in(4,6,9,11):
            return 30
        elif is_leap_year(year):
            return 29
        else:
            return 28
     
    def get_days(year, month):
        days = 0
        for yea in range(1,year):
            if is_leap_year(yea):
                days += 366
            else:
                days += 365
    
        for mon in range(1,month):
            days += get_day_of_month_num(year,mon)
    
        return days
    
    def day_of_week(year,month):
        return 1+get_days(year,month)%7
    
    def print_calendar(year, month):
        print ('   ',year,"年",month,"月",'    ')
        print ("一 二 三 四 五 六 日")
        now = day_of_week(year,month)
        myear = year
        mmonth = month
        if month == 1:
            myear -= 1
            mmonth = 12
        else:
            mmonth -= 1
        mday = get_day_of_month_num(myear,mmonth)
        number = mday-now+2
        for x in range(number, mday+1):
            print('%2d'%x,end = ' ')
            #为了补满数字,输入上一个月份的几天
        now -= 1
        for da in range(1,get_day_of_month_num(year,month)+1):
            print('%2d'%da,end=' ')
            now += 1
            if now % 7 == 0:
                print('')
            #输入下一个月份的几天
        next_now = 7-(now%7)
        for dd in range(1,7+next_now+1):
            print('%2d'%dd,end = ' ')
            now += 1
            if now %7 == 0:
                print('')
        
    def all_print(year):
        for d in range(1,13):
            print_calendar(year,d)
    
    
    year = int(input("input year: "))
    month = int(input("input month: "))
    print_calendar(year,month)
    all_print(year)
    
    
    

    结果:
    在这里插入图片描述

    展开全文
  • Python制作日历

    2021-07-29 13:12:28
    得出的结果可以推出: w = 1:星期一 w = 2:星期二 w = 3:星期三 w = 4:星期四 w = 5:星期五 w = 6:星期六 w = 7:星期日 制作日历,还要想到如何判断某一年是瑞年还是平年,那么就可以用到下面这个函数进行...

    首先要明白一个公式:d = 天, m = 月份, y = 年

    w = (d + 2 * m + 3*(m + 1)//5 + y + y // 4-y//100 + y//400) % 7+1

    这个公式是基姆拉尔森公式,计算的结果是对7求余再加1,从而可以推算出星期几,但当月份为一月份或者二月份是,这个时候需要将年份减一,月份为等于一时,月份变为13,月份为二时,月份为14。得出的结果可以推出:

    w = 1:星期一
    w = 2:星期二
    w = 3:星期三
    w = 4:星期四
    w = 5:星期五
    w = 6:星期六
    w = 7:星期日

    制作日历,还要想到如何判断某一年是瑞年还是平年,那么就可以用到下面这个函数进行判断

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

    最后就是进行判断一个月有多少天,函数如下:

    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

    运行结果为:

    最后完整的代码如下:

    def get_week_with_date(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
    
    
    def is_leap_year(y):
        if y % 400 == 0 or (y % 4 == 0 and y % 100 != 0):
            return True
        return False
    
    
    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
    
    
    while True:
        year = int(input('请输入年份:'))
        month = int(input('请输入月份:'))
        if month > 12:
            print('月份输入不正确,请重新输入')
            month = int(input('请输入月份:'))
        print('一 二 三 四 五 六 日')
        print('-'*20)
        days = get_days_in_month(year, month)
        for i in range(1, days+1):
            w = get_week_with_date(year, month, i)
            if i == 1:
                print(f"{' ' * (w-1) *3}", end='')
            if w == 1:
                print("")
            print(f'{i:2d}', end=' ')
        print("")

     

    展开全文
  • 主要介绍了Python如何绘制日历图和热力图,帮助大家更好的理解和学习Python,感兴趣的朋友可以了解下
  • 我们可能在编程考试里遇到过这样的编程题,对于基础...python tkinter制作一个日历 import calendar from tkinter import * root = Tk() labels = [['Mon','Tue','Wed','Thu','Fri','Sat','Sun']] MonthCal = c

    我们可能在编程考试里遇到过这样的编程题,对于基础不太好的小伙伴,可能很头疼这个流程,之前也跟大家说过掌握最精华的内容,才是最重要的,因此,下面小编不仅通过大家容易考试碰到的问题,更给大家教学,常见项目所遇到的语句问题。
    python tkinter制作一个日历

    import calendar
    
    from tkinter import *
    
    root = Tk()
    
    labels = [['Mon','Tue','Wed','Thu','Fri','Sat','Sun']]
    
      
    
    MonthCal = calendar.monthcalendar(2020, 5)
    
    for i in range(len(MonthCal)):
    
        labels.append(MonthCal[i])
    
    for r in range(len(MonthCal)+1):
    
        for c in range(7):
    
            if labels[r][c] == 0:
    
                labels[r][c] = ' '
    
            label = Label(root,          
    
                          padx=5,
    
                          pady=5,
    
                          text=str(labels[r][c]))        
    
            label.grid(row=r,column=c)
    
    root.mainloop()
    

    最终效果:
    在这里插入图片描述
    大家可以直接跟着小编的代码一起来试试,制作一个日历,当然啦,这个是最简单的日历内容,还可以继续丰富起来的哦~

    展开全文
  • Python如如何何绘绘制制日日历历图图和和热热力力图图 这篇文章主要介绍了Python如何绘制日历图和热力图帮助大家更好的理解和学习Python感兴趣的朋友可以了 解下 文以2019年全国各城市的空气质量观测数据为例利用...
  • Python创建日历实例

    2020-12-25 02:02:16
    本文讲述了Python创建日历的方法,与以往不同的是,本文实例不使用Python提供的calendar实现,相信对大家的Python程序设计有一定的借鉴价值。 此程序在windows下测试通过,由于python字符编码直接输出给操作系统,so...
  • 您可以使用Python日历模块轻松地输出日历。而且,您只需要编写两行程序即可。这次,我将介绍如何在Python中显示各种日历。 让我们编写一个显示日历的两行程序。启动Python随附的IDLE shell,然后输入以下两行。 ....

    用两行Python代码制作简单的日历

    马上就要步入新的一年了,是不是需要一个新年的日历啊。我们看看怎么样使用Python轻松的创建日历。

    我们可以使用Python的calendar模块轻松地输出日历。而且,您只需要编写两行代码即可。那么我们就来看看如何在Python中显示各种日历吧。

    首先让我们编写一个显示日历的两行代码吧。启动Python附带的IDLE shell,然后输入以下两行代码。

     import calendar
     print(calendar.month(2021, 1))

    在IDLE中的执行结果如下:

    通过仅写两行代码显示日历

    关于使用方法,请参考下面的格式说明。

     calendar.month(年, 月, w=列幅, l=行数)

    如果指定关键字参数w和l,则可以在输出日历时调整天与天之间的输出宽度。以下是指定w = 7和l = 2的示例。

    print(calendar.month(2021, 1, w=7, l=2))     

    执行后的显示结果如下。

    指定了w或l参数的输出

    您甚至可以省略print方法

    在Python的calendar模块中,提供了calendar.prmonth()函数。用这个函数您即使不用print函数也可以把日历的内容简单地显示出来。参数和month()函数相同。

    以下是输出2021年1月月历的代码。

     calendar.prmonth(2021, 1, w=7)

    让我们在IDLE上看一下。可以看到效果和用print打印出来的一样。

    您甚至可以省略print打印

    就是这么简单,所以对于那些一直打开着IDLE的码农来说,直接用calendar.prmonth()来查看日历也许比启动日历应用程序来的更快一些。(笑)。

    通过将内容保存到网页,并用浏览器打开,可以使内容看起来更好看,更直观

    为了让日历的内容看起来更好看,我们稍微改一下代码,把日历的内容保存到HTML中。执行以下代码,将输出一个名为“ calendar202101.html”的HTML文件。

     # 制作一个月的日历 --- (*1)
     import calendar
     lc = calendar.HTMLCalendar()
     body = lc.formatmonth(2021, 1)
    
     # 保存到文件 --- (*2)
     f = open("calendar202101.html", "wt")
     f.write("<body>" + body + "</body>")

    将生成的HTML文件拖放到浏览器中,来看看日历的效果。

    在HTML中表示

    在谷歌浏览器中,右键单击网页,然后从弹出菜单中单击“检查”。您可以检查其输出的HTML的结构。

    我们来简单地看一下代码。首先我们使用了calendar模块的HTMLCalendar方法。

    在代码的(* 1)部分中,通过创建HTMLCalendar对象并调用formatmonth()方法就可以轻松地生成HTML形式的日历

    在代码的(* 2)中,把生成的HTML代码保存在了文件中。事实上,我们可以通过修改<style>标签的内容来详细的设定日历的显示格式。

    接下来,让我们来创建一个下面这样的年度日历。

    在浏览器中显示一年的日历

    创建上面的年度日历的代码如下。

     # 日历做成 --- (*1)
     import calendar
     lc = calendar.HTMLCalendar()
     body = lc.formatyear(2021, width=4)
    
     # 指定HTML的头部信息 --- (*2)
     html = """<html><head><style>
     table { padding: 8px; }
     th { border-bottom: 1px solid gray; }
     td { padding: 4px; vertical-align: top; }
     .sun { color: red; }
     .sat { color: blue; }
     </style></head><body>""" + body + """
     </body></html>"""
    
     # 保存文件 --- (*3)
     f = open("calendar2021.html", "wt")
     f.write(html)

    简单介绍一下这段程序代码。

    首先(* 1)部分。和之前的代码一样,生成了一年日历的HTML代码。

    然后,在(* 2)部分中,给HTML代码指定了一些CSS样式。

    然后,在(* 3)部分中,将HTML代码保存在文件中。

    如上代码,你可以通过改变<style>标签中的定义,来得到您想要的日历的颜色和大小。

    总结

    今天,我们介绍了如何通过calendar模块来快速的创建日历,是不是很方便呢?最主要的是,您可以用HTMLCalendar来生成HTML代码,并且通过改变HTML代码的样式来制作您想要的风格的日历。是不是很酷呢。

    还等什么,赶紧来尝试一下吧。

     

    展开全文
  • python 日历+记事

    千次阅读 2019-08-09 18:04:27
    当老师要求ssh框架去做一个日历且带有记事功能时,内心是奔溃的,所以去询问老师是否可以用python去做,老师是常年做开发的,思路以及行动都比较活,所以,课设就问题不大了,我先展示自己的页面 点击查询按钮...
  • calendar库:Python日历的处理与生成

    千次阅读 2021-04-12 18:26:20
    而calendar库能自己设定星期的规则,比如中国常用的每个星期从星期1开始,那么日历就可以生成从星期一开始的日历。 本篇,就将详细讲解calendar库的使用规则。 prmonth()与TextCalendar() prmonth()是一个简单的函数...
  • 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时...我们使用python版本为Python3.6,需要使用到的包为openpyxl及calendar,后者是python自带的,而前者则需...
  • 文章目录【Python数据可视化日历热图AI教程】Calendar日历热图 3例阅读和使用方法Demo案例及视频数据选择日历热图自定义类别区间日历热图基础日历热图 【Python数据可视化日历热图AI教程】Calendar日历热图 3例 ...
  • 本次内容有感于《Python编程快速上手-让繁琐工作自动化》。 根据书中的「处理Excel电子表格」章节内容,做出一份专属日历使用的模块为openpyxl,一个能读取和修改Excel电子表格的Pyhton模块。 实现自动化处理...
  • Python calendar日历模块的常用方法

    千次阅读 2019-08-03 00:00:09
    您的办公桌有制作精美的日历,手机里也有日历,电脑里也有日历,随手可得。 但是,如果我们要在代码中处理日历,我们不可能自己查好,然后手动写到代码中,那样代码将会被写死,不合理,也很难维护。 在Python中...
  • 使用tkinter完成windows窗口程序,开始之前对tkinter没啥概念,需求紧急边边学。。。。 处理到日历输入的时候才发现居然没有现成的日历选择控件,这让人很难受,找遍全网合适的也只有“大牛我的眼写的这个合适” ...
  • Python小项目:实现日历功能 功能:(1)输入年月日,输出这一天是星期几 (2)输入年份,打印该年日历 months=[0,31,28,31,30,31,30,31,31,30,31,30,31] #判断任何一年的日历 def isLeap(y): return y%400==0 or y...
  • 显示今年的日历图、判断是不是闰年、显示任意这个月的日历图、这个月有几天? 9月1日是星期几?、这个月的第 ?天、获取当前时间
  • python制作万年历

    千次阅读 2019-09-19 10:10:55
    用python制作万年历,就是从键盘输入年份和月份,然后输出对应的日历表。在制作过程中有如下问题需要思考: 万年历的起始时间,也就是从哪一天算起? 平年和闰年的天数不一样,同时,每个月的天数不一样,如何...
  • 利用Python如何输出某一年的日历

    千次阅读 2019-11-16 12:33:11
    利用自定而下的思想,将问题进行一步一步的分解,最后可解决问题 def getYear(): print("This program prints the calendar of a given year.") year = int(input("Please enter a year(after 1900: )")) ...
  • 2021年来了,从Python定制一份日历开始吧!

    千次阅读 多人点赞 2021-01-03 08:08:00
    一、准备开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这篇文章:超详细Python安装指南进行安装。如果你用Python的目的是数据分析,可以直接安装A...
  • python实现日历小部件 python几十行代码实现日历小部件,真是给力!! 先看效果图: 下面我把源码也贴出来: from PyQt5.QtWidgets import (QWidget, QCalendarWidget, QLabel, QApplication, QVBoxLayout) from ...
  • 使用python制作甘特图

    千次阅读 2019-03-20 01:41:20
    转载自 http://www.zbeanztech.com/blog/gantt-chart-python import plotly as py import plotly.figure_factory as ff df = [dict(Task="Job A", Start='2009-01-01', Finish='2009-02-28', Complete=10), ...
  • 今天我们就来演示如何用python生成一个日历。 一、准备 开始之前,你要确保Python和pip已经成功安装在了电脑上。 Windows环境下打开 CMD (开始—运行—CMD),苹果系统环境下请打开 终端 Terminal (command+空格输入...
  • 公众号“菜鸟学Python”第432篇原创,设为 “星标”,一起学Python!新年新气象,新的一年,我们要给自己的好友送上最好的祝福,送上精心准备的礼物。如果我们能给自己的好友送上自...
  • python日历模块Calender提供了多种日历展示模式: 参数 说明 示例 setfirstweekday(firstweekday) 0是星期一,…,6为星期日 calendar.setfirstweekday(firstweekday=6) monthcalendar(year, month) 返回...
  • 用户输入年月,然后显示该月的整个日历。 #显示给定年份的日历 #打印日历函数 def printMonth(year,month): printMonthTitle(year,month) printMonthBody(year,month) #打印标题栏显示月份与年份 def ...
  • 如果我们能给自己的好友送上自己亲手制作的《小姐姐新年日历天气卡》,不仅体现出了自己的诚意,而且还能让好友获得充满新意的礼物。 0.如何制作 为了让大家对这款新颖的天气卡有直观的印象,我们首先来看一下它的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,641
精华内容 1,056
关键字:

用python制作日历

python 订阅