Python使用键盘输入一年的年份与月份,输出这个月份的日历

year = int(input("请输入年份"))
month = int(input("请输入月份:"))
if month == 1:
    momthName,monthDays = "Jan",31
elif month == 2:
    monthName = "Feb"
    if (year %4== 0)and(year%100!=0)or(year%400 == 0):
        monthDays = 29
    else:
        monthDay = 28
elif month == 3:
    monthName,monthDays = "March",31
elif month == 4:
    monthName,monthDays = "Apr",30
elif month == 5:
    monthName,monthDays = "May",31
elif month == 6:
    monthName,monthDays = "Jun",30
elif month == 7:
    monthName,monthDays = "Jul",31
elif month == 8:
    monthName,monthDays = "Aug",31
elif month == 9:
    monthName,monthDays = "Sept",30
elif month == 10:
    monthName,monthDays = "Oct",31
elif month == 11:
    monthName,monthDays = "Nov",30
else:
    monthName,monthDays = "Dec",31
#print(str(year)+"年"+monthName+"有"+str(monthDays)+"天")
#生成日历表头
message = "\t\t"+monthName+"\t"+str(year)+"\n"
message = message+"-"*4*7+"\n"
message = message + "Sun\tMon\tTue\tWed\tThu\tFri\tSat"+"\n"
#print(message)
if month ==1 or month ==2:
    year = year-1
    month = month+12
#使用蔡勒公式计算某年某月的第一天是周几
firstWeekDay = ((year%100)+(year%100//4)+(year//100//4)-(2*(year//100))+(26*(month+1)//10))%7
#firstWeekDay = ((1+(26*(month+1)//10)+(year%100)+(year%100//4)+(year//100//4)+(year//100*5))%7+6)%7
#print(firstWeekDay)
message = message + "\t"*firstWeekDay
#使用循环语句输出日历
for date in range (1,monthDays+1):
    if (firstWeekDay+date)%7==0:
        message = message+str(date)+"\n"
    else:
        message = message+str(date)+"\t"
print(message)
  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清潇沈默

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值