1. 程式人生 > 其它 >浙大版《Python 程式設計》題目集第5章-2——第5章-6

浙大版《Python 程式設計》題目集第5章-2——第5章-6

技術標籤:浙大版《Python 程式設計》題目集解答python

第5章-2 圖的字典表示

在這裡插入圖片描述

圖的字典表示。輸入多行字串,每行表示一個頂點和該頂點相連的邊及長度,輸出頂點數,邊數,邊的總長度。比如上圖O點表示:
{‘O’:{‘A’:2,‘B’:5,‘C’:4}}。用eval函式處理輸入,eval函式具體用法見第六章內建函式。

輸入格式:
第一行表示輸入的行數 下面每行輸入表示一個頂點和該頂點相連的邊及長度的字串

輸出格式:
在一行中輸出頂點數,邊數,邊的總長度

輸入樣例:
在這裡給出一組輸入。例如:

4
{'a':{'b':10,'c':6}}
{'b':{'c':2,'d':7}}
{'c':{'d':10}}
{'d':{}} 

輸出樣例:
在這裡給出相應的輸出。例如:

4 5 35

答案樣例:

n = eval(input())
s = 0
c = 0
for i in range(n):
    d = eval(input())
    d = list(d.values())[0]
    for j in d.values():
        c += 1
        s += j
print(n,c,s)

第5章-3 四則運算(用字典實現)

四則運算(用字典實現),比較c語言的switch語句。

輸入格式:
在一行中輸入一個數字 在一行中輸入一個四幟運算子(+,-,*,/) 在一行中輸入一個數字

輸出格式:
在一行中輸出運算結果(小數保留2位)

輸入樣例1:
在這裡給出一組輸入。例如:

7
/
3

輸出樣例1:
在這裡給出相應的輸出。例如:

2.33

輸入樣例2:
在這裡給出一組輸入。例如:

10
/
0

輸出樣例2:
在這裡給出相應的輸出。例如:

divided by zero

答案樣例:

a = input()
b = input()
c = input()
if b == '/' and c =='0':
    print('divided by zero'
) exit()# 直接退出,因為就這一個異常 print('%.2f'%eval(a+b+c))

第5章-4 分析活動投票情況

利用集合分析活動投票情況。第一小隊有五名隊員,序號是1,2,3,4,5;第二小隊也有五名隊員,序號6,7,8,9,10。輸入一個得票字串,求第二小隊沒有得票的隊員

輸入格式:
在一行中輸入得票的隊員的序列號,用逗號隔開。

輸出格式:
一行中輸出第二小隊沒有得票的隊員序號。

輸入樣例:
在這裡給出一組輸入。例如:

1,5,9,3,9,1,1,7,5,7,7,3,3,1,5,7,4,4,5,4,9,5,10,9 

輸出樣例:
在這裡給出相應的輸出。例如:

6 8

答案樣例:

a = input().split(',')
b = [str(i) for i in range(6,11) if str(i) not in a]
print(' '.join(b))

第5章-5 統計字元出現次數

本題要求編寫程式,統計並輸出某給定字元在給定字串中出現的次數。

輸入格式:
輸入第一行給出一個以回車結束的字串(少於80個字元);第二行輸入一個字元。

輸出格式:
在一行中輸出給定字元在給定字串中出現的次數。

輸入樣例:

programming is More fun!
m

輸出樣例:

2

答案樣例:

s = input()
t = input()
print(s.count(t))# 直接使用字串的count方法

第5章-6 統計工齡

給定公司N名員工的工齡,要求按工齡增序輸出每個工齡段有多少員工。

輸入格式:
輸入首先給出正整數N(≤10
​5
​​ ),即員工總人數;隨後給出N個整數,即每個員工的工齡,範圍在[0, 50]。

輸出格式:
按工齡的遞增順序輸出每個工齡的員工個數,格式為:“工齡:人數”。每項佔一行。如果人數為0則不輸出該項。

輸入樣例:

8
10 2 0 5 7 2 5 2

輸出樣例:

0:1
2:3
5:2
7:1
10:1

答案樣例:

a = input()
b = list(map(int,input().split()))
b.sort()
dic = {}
for i in b:
    # 使用字典的get方法就不用去判斷字典中是否存在i了
    dic[i] = dic.get(i,0) + 1
for x,y in dic.items():
    print('{}:{}'.format(x,y))