Python输入一个年份输出全年日历

题目:已知1990年1月1号是星期一,公元1年1月1日也是星期一。要求输出某年的日历。

def isr(year):#判断是否为闰年
if year % 400 == 0 or year % 4 == 0 and year % 100 != 0:
return True

def isd(year):#判断输入年份的第一天是周几
s = 0
d = 1
#如果年份大于1900,则通过1900计算;如果小于1900,则通过公元1年计算
if year >= 1900:
while year > 1900:
year -= 1
if isr(year):
s += 366
else:
s += 365
#将1900与所给年份之间所有天数求和
else:
while year > 1:
year -= 1
if isr(year):
s += 366
else:
s += 365
#将1与所给年份之间的所有天数求和
d += s % 7
return d

def show(year, d, l):#输出日历
for i in range(12):
print(i + 1, “月”)
print(“一\t二\t三\t四\t五\t六\t日”)
t = []
a = 0
for j in range(1, l[i] + 1):
t.append(j)
#将每一个日期写入列表中,用于循环输出
print("\t"*(d - 1), sep=’’, end=’’)
#用\t控制间隔,end表示不换行
while a <= len(t) - 1:
if d <= 7:
print(t[a], “\t”, sep=’’, end=’’)
a += 1
d += 1
else:
print()
d = 1
print()

r = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
p = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
year = eval(input(“请输入年份:”))
d = isd(year)
if isr(year):
show(year, d, r)
else:
show(year, d, p)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值