zhou11119 2024-01-25 11:02 采纳率: 83.7%
浏览 3
已结题

python求某月天数

最近张子洋同学正在研究月历,他分析出大月31天,小月有30天,2月或28天或29天。现在他想通过编程的方法解决一个实际的问题:给你一个年份和月份,让计算机显示该月的月历,请你通过编写程序的方法来实现这一功能。
输入有一行,两个整数,第一个为年份,第二个为月份
输出有一行,一组数字,即该月的月历,数字之间用一个空格隔开。
输入
2023 12
输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

import calendar

def display_calendar(year, month):
    cal = calendar.monthcalendar(year, month)
    for week in cal:
        print(week)

year = int(input())
month = int(input())

display_calendar(year, month)

  • 写回答

2条回答 默认 最新

  • 专家-郭老师 Java领域新星创作者 2024-01-25 11:14
    关注

    你的代码已经获取了某一个月的所有周,并且按照周的顺序打印了天数。但是,这个打印结果中会包含这个月之前和之后的天数,而且结果并不符合题目要求。
    如果你想要得到一个月的所有天数,可以使用Python calendar模块的monthrange()函数,这个函数会返回一个包含星期和月份天数的元组。
    下面的代码将获取到一个月的天数,并按题目要求的格式打印结果:

    import calendar
    
    def display_days_in_month(year, month):
        _, num_days = calendar.monthrange(year, month)  # 获取月份天数
        days = [str(day) for day in range(1, num_days + 1)]  # 生成天数列表
        print(' '.join(days))  # 打印天数,天数之间用空格隔开
    
    year = int(input())
    month = int(input())
    
    display_days_in_month(year, month)
    
    

    在这个代码中,monthrange()函数会返回一个元组,第一个元素是这个月第一天的星期(0表示星期一,6表示星期日),第二个元素是这个月的天数。我们只关心这个月的天数,所以用"_"占位符忽略了第一个元素。然后,我们生成了一个包含这个月所有天数的字符串列表,并用空格将它们连接起来打印。
    这个代码应该能解决你的问题,如果有更多问题,欢迎继续提问。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月2日
  • 已采纳回答 1月25日
  • 创建了问题 1月25日

悬赏问题

  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络
  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥30 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入
  • ¥15 mmo能不能做客户端怪物