浙大版《Python 程序设计》题目集第五章答案(自用)

第5章-1 输出星期名缩写 (70分)
dic1 = {"1":"Mon","2":"Tue","3":"Wed","4":"Thu","5":"Fri","6":"Sat","7":"Sun"}
n = input()
print(dic1.get(n))
第5章-2 图的字典表示 (20分)
n = int(input())
dic = {}
count = 0
summ = 0
for i in range(n):
    dic1 = eval(input())
   
    for j in dic1:
        count += len(dic1[j])
    dic.update(dic1)

for i in dic:
    for j in dic[i]:
        summ += dic[i][j]
        

print("{:} {:} {:}".format(n,count,summ))
第5章-3 四则运算(用字典实现) (30分)
a = float(input())
b = input()
c = float(input())
dic = {"+":"a+c","-":"a-c","*":"a*c","/":"a/c"}
try:
    print("{:.2f}".format(eval(dic[b])))
except ZeroDivisionError:
    print("divided by zero")

第5章-4 分析活动投票情况 (20分)
list1 = input().split(',')

res= ""
dic = {}
for i in range(1,11):
    dic[str(i)] = 0
for i in list1:
    dic[i] += 1
for i in dic:
    if dic[i] == 0 and i in ['6','7','8','9','10']:
        res += i + " "
print(res[:len(res)-1])

第5章-5 统计字符出现次数 (20分)
res = input()
cha = input()
count = 0
for i in res:
    if i == cha:
        count += 1
print(count)
第5章-6 统计工龄 (20分)
dic = {}
n = int(input())
list1 = input().split()
for i in list1:
    dic[i] = 0
for i in list1:
    dic[i] += 1
for i in range(0,51):
    if str(i) in dic:
        print("{0:}:{1:}".format(i,dic[str(i)]))
    
第5章-7 列表去重 (40分)
list1 = eval(input())
list2 = []
res = ""
for i in list1:
    if i not in list2:
        list2.append(i)
for i in list2:
    res += " " + str(i)
print(res[1:])

第5章-8 能被3,5和7整除的数的个数(用集合实现) (30分)
list1 = input().split()
start = int(list1[0])
end = int(list1[1])
count = 0
for i in range(start, end+1):
    if i % 3 == 0 and i % 7 == 0 and i % 5 == 0:
        count += 1
print(count)
第5章-9 求矩阵鞍点的个数 (30分)
n = int(input())
list1 = []
count = 0
for i in range(n):
    tmp = input()
    list1.append([int(n) for n in tmp.split()])
for i in range(n):
    maxx = max(list1[i])
    for j in range(n):
        if list1[i][j] == maxx:
            list3 = [maxx]
            for q in range(n):
                for w in range(n):
                    if q!=i and w == j:
                        list3.append(list1[q][w])
         
            if min(list3) == maxx:
           
                count += 1
print(count)
第5章-10 两数之和 (30分)
list1 = input().split(",")
list2 = []
flag = 0
for i in list1:
    list2.append(int(i))
number = int(input())
length = len(list2)
for i in range(length):
    if flag == 1:
        break
    for j in range(length):
        if i != j and list2[i] + list2[j] == number:
            print(i,j)
            flag = 1
if flag == 0:
    print("no answer")
第5章-11 字典合并 (40分)
dic1 = eval(input())
dic2 = eval(input())
for i in dic2:
    if i not in dic1:
        dic1[i] = dic2[i]
    else:
        dic1[i] = dic1[i] + dic2[i]


ans = dict(sorted(dic1.items(),key=lambda x:x[0] if type(x[0])==int else ord(x[0])))

print("{",end = "")
str1 = ""
for i in ans:
    if type(i) == int:
        str1 += "," + str(i) + ":" + str(ans[i])
    else:
        str1 += "," + "\""+str(i) + "\""+":" + str(ans[i])

print(str1[1:],end = "")
print("}")

发布了21 篇原创文章 · 获赞 0 · 访问量 482

猜你喜欢

转载自blog.csdn.net/qq_39901722/article/details/104718555