Python——万年历案例

server/2024/10/22 16:30:49/

文章目录

  • 需求
  • 一、代码展示
  • 二、结果展示


需求

输入年份和月份可以输出当年当月的日历


一、代码展示

python"># 提示语句  年 月
# 判断是否为闰年的
def isLeapYear(year):if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):return Trueelse:return False# 给定月份,算出来该月份有几天
def getDayOfMonth(year,month):if month == 1 or month == 3 or month == 5 or month == 7 or month==8 or month==10 or month==12:return 31elif month == 4 or month == 6 or month == 9 or month == 11:return 30else:if isLeapYear(year):return 29else:return 28while True:yearStr = input("请输入年份(数字):")if yearStr.isdigit():year=int(yearStr)monthStr = input("请输入月份(1-12):")if monthStr.isdigit() and  1 <= int(monthStr) <=12:month=int(monthStr)# 计算该年月距离 1900-01-01的总天数totalDays = 0for y in range(1900,year):if isLeapYear(y):totalDays += 366else:totalDays += 365# 将剩余月份的天数相加for m in range(1,month):totalDays += getDayOfMonth(year,m)print(totalDays)# 该年该月的第一天是星期几firstDayOfMonth = (totalDays+1) % 7print(firstDayOfMonth)# 接着进行格式化输出print("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t")# 规律 星期几就打印几个空格# 一个tab 两个汉字# print("\t"*2)counter = firstDayOfMonthprint("\t"*2*firstDayOfMonth,end="")# 打印几号dayOfMonth = getDayOfMonth(year,month)for day in range(1,dayOfMonth+1):print(day,end="\t\t")counter += 1# 控制换行,没打印7个值包括空白都换行if counter % 7 == 0:print()print()else:print("输入的数据不合法,请输入1~12之间的数字")else:print("请输入数字,不要闹")

二、结果展示

在这里插入图片描述



http://www.ppmy.cn/server/133949.html

相关文章

哪些母婴好物在双十一值得入手?五款排名靠前的母婴好物

随着双十一购物节的临近&#xff0c;母婴品牌之间的竞争愈发激烈。作为年度最重要的促销活动之一&#xff0c;双十一不仅是消费者的狂欢&#xff0c;更是各大品牌展示实力、争夺市场的关键时刻。在众多母婴品牌中&#xff0c;哪些品牌能够脱颖而出&#xff0c;成为排名前列母婴…

deepin检测不到蓝牙耳机的话筒(麦克风)

背景 电脑主板音频孔有问题有线耳机输出声音小&#xff0c;所以买了蓝牙&#xff0c;一直没试过麦克风。2024-10-22&#xff0c;今天在deepin系统上参加腾讯会议&#xff0c;刚买的蓝牙耳机能听到声音&#xff0c;但无法说话。无奈又插上有线耳机。 问题描述 deepin系统能识…

【C++篇】栈的层叠与队列的流动:在 STL 的节奏中聆听算法的静谧旋律

文章目录 C 栈与队列详解&#xff1a;基础与进阶应用前言第一章&#xff1a;栈的介绍与使用1.1 栈的介绍1.2 栈的使用1.2.1 最小栈1.2.2 示例与输出 1.3 栈的模拟实现 第二章&#xff1a;队列的介绍与使用2.1 队列的介绍2.2 队列的使用2.2.1 示例与输出 2.3 队列的模拟实现2.3.…

工业大模型:体系架构、关键技术与典型应用

研究意义 随着新一代人工智能的发展, 大模型&#xff08;如 GPT-4o 等&#xff09;凭借大规模训练数据、网络参数和算 力涌现出强大的生成能力、泛化能力和自然交互能力, 展现出改变工业世界的巨大潜力. 尽管大模型 已在自然语言等多个领域取得突破性进展, 但其在工业应用中的…

学习记录:js算法(七十一): 买卖股票的最佳时机

文章目录 买卖股票的最佳时机思路一思路二 买卖股票的最佳时机 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所…

HarmonyOS NEXT:ArkTS实现九九乘法表

@Entry @Component struct Index {//九九乘法表for循环逻辑muTable(){let result:string[][] = []for(let i = 1;i<=9;i++){let index:string[] = []for (let j = 1; j <= i; j++) {let temp = j + * + i + = + i*jindex.push(temp)}result.push(index)}return result}bu…

Java语言-接口(上)

目录 1.接口的概念 2.语法规则 3.接口使用 4.接口特性 5.实现多个接口 6.接口间的继承 1.接口的概念 在现实生活中&#xff0c;接口的例子比比皆是&#xff0c;比如&#xff1a;笔记本上的USB口&#xff0c;电源插座等。 电脑的 USB 口上&#xff0c;可以插&#xff1…

路由器概述

一、路由器的工作原理 根据路由表转发数据 二、路由表与其形成 2.1路由表 &#xff08;1&#xff09;概念 路由&#xff1a;从源主机到目的主机的转发过程路由表&#xff1a;路由器中维护的路由条目的集合&#xff1b;路由器根据路由表做路径选择 &#xff08;2&#xff…