Python3.2版万年历 | 寒山烟雨
现在的位置: 首页 > 小试身手 > 正文

Python3.2版万年历

2011年11月30日 小试身手 ⁄ 共 670字 ⁄ 字号 评论 6 条 ⁄ 阅读 7,265 views 次

算法和C的一样,只是由于Python3.2还是推广不足,print函数格式不甚了解,费了好长时间才搜到。

 Python | 
 
 copy code |
?

01
#!/usr/bin/env python3
02
def run(m):
03
    if m%100==0:
04
        if m%400==0:
05
            return 29
06
        else:
07
            return 28
08
    else:
09
        if year%4==0:
10
            return 29
11
        else:
12
            return 28
13
 
14
 
15
print("万年历Python版")
16
year=int(input("请输入年份:"))
17
month=int(input("请输入月份:"))
18
 
19
c=int(year/100)
20
y=year-c*100
21
if month<=2:
22
    month+=12
23
    y-=1
24
w=int(c/4)-2*c+int(y/4)+y+int(13*(month+1)/5)
25
while w<0:
26
    w+=7
27
i=w%7
28
 
29
if month==1 or month==3 or month==5 or month==7 or month==8 or month==10 or month==12:
30
    day=31
31
else:
32
    if month==4 or month==6 or month==9 or month==11:
33
        day=30
34
    else:
35
        day=run(year)
36
 
37
print("  S  M  T  W  T  F  S")
38
n=1
39
for j in [1,2,3,4,5]:
40
    for k in [1,2,3,4,5,6,7]:
41
        if j==1 and ((j-1)*5+k-1)<i:
42
            print('   ',end='')
43
        else:
44
            if n<=day:
45
                print("%3d" % n,end='')
46
                n+=1
47
    print()
48
input("Press <Enter> to end")

0

目前有 6 条留言    访客:4 条, 博主:2 条

  1. jtshs256 2011年12月02日 下午12:56  @回复  Δ-49楼 回复
    Firefox Firefox Windows Windows

    以前似乎做过这个作业……记不清了……

  2. 冷轩信 2011年12月01日 下午8:58  @回复  Δ-48楼 回复
    Safari Safari Windows Windows

    色法瑞


    • 管理员
      hsyyf 2011年12月01日 下午9:29  @回复  ∇地下1层 回复
      Firefox Firefox Windows Windows

      ...

      • 冷轩信 2011年12月01日 下午9:30  @回复  ∇地下2层 回复
        ChromePlus ChromePlus Windows Windows

        我刚学会怎么念 :lol:


        • 管理员
          hsyyf 2011年12月01日 下午9:48  @回复  ∇地下3层 回复
          Firefox Firefox Windows Windows

          8-o 8-o 8-o 8-o

  3. 冷轩信 2011年12月01日 上午7:29  @回复  Δ-47楼 回复
    Firefox Firefox GNU/Linux GNU/Linux

    路过io

给我留言

留言无头像?


×