数据分析题目 2/27

1.写一个函数用来打印通用日历表,即对任何给定的年和月份,能按下图正确打印对应的日历表:

 

(1)测试普通年份月份情况(大小月);

(2)普通年份二月份情况;

(3)测试闰年年份二月份情况

(4)利用上述函数,输出某个年份所有月份的日历

法1:导入calendar模块

>>> import calendar
>>> yy = int(input("输入年份: "))
输入年份: 2020
>>> mm = int(input("输入月份: "))
输入月份: 2
>>> # 显示日历
print(calendar.month(yy,mm))
   February 2020
Mo Tu We Th Fr Sa Su
                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

法2:手敲代码

year = int(input("请输入年份:"))
if((year %4 == 0 and year %100 != 0) or (year % 400 == 0)):run = True
else:run = False     #这行也可以不用写
i = 1900
sum = 0
while i < year - 1:
    i += 1
    if((i % 4 == 0 and i % 100 != 0) or (i % 400 == 0)):sum += 366
    else: sum += 365
month = int(input("请输入月份:"))
j = 1
while j < month:
    if((j == 1) or (j == 3) or (j == 5) or (j == 7) or (j == 8) or (j == 10) or (j == 12)):sum += 31
    elif j == 2:
        if run:sum += 29
        else: sum += 28
    else: sum += 30
    j += 1
week = (sum + 1) % 7
if ((month == 1) or (month == 3) or (month == 5) or (month == 7) or (month == 8) or (month == 10) or (month == 12)):day = 31
elif month == 2:               #二月的嵌套判断,闰年二月29,平年28
    if run:day = 29
    else:day = 28
else:day = 30
print("日\t一\t二\t三\t四\t五\t六")
count = 0    #定义一个计数器,以便后面的换行
k = 0
while k <= week:   #每个月的开始第一周前面的空格数
    k += 1
    print("\t",end="")
    count += 1
    if (count % 7 == 0):print("\n")
   # count=7 进行换行
p = 1
while p <= day:    #显示天数
    print(p,"\t",end="")     #打印  table 不换行
    p += 1
    count += 1
    if(count % 7 == 0):print("\n")        #count=7 进行换行

2.下面是两张表格,一张表格描述了美国一些县所在的州,一张表格描述了这些县的人口。编写程序,请利用县的名字将两张表合并成一张表。

表state

表population

提示:通过观察,想办法将两个表中县的名字利用统一的规则合并成同一个名字,然后合并两个表。

3.文件lexicon.txt是一些英文单词的发音词典文件:文件的每一行对应一个词条,每一行的第一列对应词本身,后面列对应该单词的发音音素序列。编写一个函数,从lexicon.txt将相关内容读出,放入一个字典结构中,返回该字典结构,并测试peppers和piper的音素序列是否正确。

a ah
a ey
cat k ae t
of ah v
peck p eh k
peppers p eh p er z
peter p iy t er
picked p ih k t
pickled p ih k ah l d
piper p ay p er
the dh ah
the dh iy
where's w eh r z

发布了115 篇原创文章 · 获赞 9 · 访问量 8124

猜你喜欢

转载自blog.csdn.net/weixin_43673589/article/details/104508920