浙大PTA-Python题库 编程题第五章(5-1~5-11)题解
其他各章題解鏈接如下
浙大PTA-Python題庫 編程題第一章(1-1~1-3)題解
https://blog.csdn.net/zimuzi2019/article/details/107020657
浙大PTA-Python題庫編程題 第二章(2.1~2.14)題解
https://blog.csdn.net/zimuzi2019/article/details/106984549
浙大PTA-Python題庫 編程題第三章(3-1~3-22)題解
https://blog.csdn.net/zimuzi2019/article/details/107040596
浙大PTA-Python題庫 編程題第四章(4-1~4-30)題解
https://blog.csdn.net/zimuzi2019/article/details/107040603
浙大PTA-Python題庫 編程題第五章(5-1~5-11)題解
https://blog.csdn.net/zimuzi2019/article/details/107020929
浙大PTA-Python題庫 編程題第六章(6-1~6-8)題解
https://blog.csdn.net/zimuzi2019/article/details/107020979
浙大PTA-Python題庫 編程題第七章(7-1)題解
https://tuenity.blog.csdn.net/article/details/102723092
注:第七章只有一道題,因為正則表達式學校尚不要求我就還沒看,所以這道題解的鏈接是另一個大佬的
浙大PTA-Python題庫 函數題(6-1~6-6)題解
https://blog.csdn.net/zimuzi2019/article/details/107021024
題目列表
5-1 輸出星期名縮寫
輸入一個1到7的數字,輸出對應的星期名的縮寫。
1 Mon
2 Tue
3 Wed
4 Thu
5 Fri
6 Sat
7 Sun
輸入格式:
輸入1到7之間數字
輸出格式:
輸出對應的星期名的縮寫
輸入樣例:
在這里給出一組輸入。例如:
1輸出樣例:
在這里給出相應的輸出。例如:
Mon題解
daysdict={1:"Mon",2:"Tue",3:"Wed",4:"Thu",5:"Fri",6:"Sat",7:"Sun"} print(daysdict[eval(input())])5-2 圖的字典表示
圖的字典表示。輸入多行字符串,每行表示一個頂點和該頂點相連的邊及長度,輸出頂點數,邊數,邊的總長度。比如上圖0點表示:
{‘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()) num,sum=0,0 for i in range(n):dic=eval(input())for j in dic:temp=dic[j]for key in temp:num+=1sum+=temp[key] print("{:d} {:d} {:d}".format(n,num,sum))5-3 四則運算(用字典實現)
四則運算(用字典實現),比較c語言的switch語句。
輸入格式:
在一行中輸入一個數字 在一行中輸入一個四幟運算符(+,-,*,/) 在一行中輸入一個數字
輸出格式:
在一行中輸出運算結果(小數保留2位)
輸入樣例1:
在這里給出一組輸入。例如:
7 / 3輸出樣例1:
在這里給出相應的輸出。例如:
2.33輸入樣例2:
在這里給出一組輸入。例如:
10 / 0輸出樣例2:
在這里給出相應的輸出。例如:
divided by zero題解
caldict= {"+":"x+y","-":"x-y","*":"x*y","/":"x/y"} x,op,y=eval(input()),input(),eval(input()) try:print("{:.2f}".format(eval(caldict[op]))) except:print("divided by zero")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題解
team=set(map(eval,input().split(','))) resultlist=[i for i in range(6,11) if i not in team] print(*resultlist)5-5 統計字符出現次數
本題要求編寫程序,統計并輸出某給定字符在給定字符串中出現的次數。
輸入格式:
輸入第一行給出一個以回車結束的字符串(少于80個字符);第二行輸入一個字符。
輸出格式:
在一行中輸出給定字符在給定字符串中出現的次數。
輸入樣例:
programming is More fun! m輸出樣例:
2題解
string,char,cnt=input(),input(),0 for i in string:if(i==char):cnt+=1 print(cnt)5-6 統計工齡
給定公司N名員工的工齡,要求按工齡增序輸出每個工齡段有多少員工。
輸入格式:
輸入首先給出正整數N(≤105),即員工總人數;隨后給出N個整數,即每個員工的工齡,范圍在[0, 50]。
輸出格式:
按工齡的遞增順序輸出每個工齡的員工個數,格式為:“工齡:人數”。每項占一行。如果人數為0則不輸出該項。
輸入樣例:
8 10 2 0 5 7 2 5 2輸出樣例:
0:1 2:3 5:2 7:1 10:1題解
n=eval(input()) timelist = list(map(int,input().split())) timedict={} for i in range(0,n):if timelist[i] not in timedict:timedict[timelist[i]]=1else:timedict[timelist[i]]+=1 for i in sorted(timedict.keys()):print("{}:{}".format(i,timedict[i]))5-7 列表去重
輸入一個列表,去掉列表中重復的數字,按原來次序輸出!
輸入格式:
在一行中輸入列表
輸出格式:
在一行中輸出不重復列表元素
輸入樣例:
在這里給出一組輸入。例如:
[4,7,5,6,8,6,9,5]輸出樣例:
在這里給出相應的輸出。例如:
4 7 5 6 8 9題解
listin,listout=eval(input()),[] for i in listin:if i not in listout:listout.append(i) print(*listout)5-8 能被3,5和7整除的數的個數(用集合實現)
輸入格式:
在一行中從鍵盤輸入2個正整數a,b(1<=a<b<=10000000),用空格隔開。
輸出格式:
在一行輸出大于等于a且小于等于b的能被3,5和7整除的數的個數。
輸入樣例1:
在這里給出一組輸入。例如:
10 100輸出樣例1:
在這里給出相應的輸出。例如:
0輸入樣例2:
在這里給出一組輸入。例如:
1000 100000輸出樣例:
在這里給出相應的輸出。例如:
943題解
a,b = map(int,input().split()) print(len([i for i in range(a,b+1) if i%3==0 and i%5==0 and i%7==0]))5-9 求矩陣鞍點的個數
給定一組整數,還有一個目標數,在給定這組整數中找到兩個數字,使其和為目標數,如找到,解是唯一的。找不到則顯示 “no answer”。輸出的下標按從小到大排序。用一重循環加字典實現。
輸入格式:
在一行中給出這組數。 在下一行輸入目標數
輸出格式:
在一行中輸出這兩個數的下標,用一個空格分開。
輸入樣例1:
在這里給出一組輸入。例如:
2,7,11,15 9輸出樣例1:
在這里給出相應的輸出。例如:
0 1輸入樣例2:
在這里給出一組輸入。例如:
3,6,9 10輸出樣例2:
在這里給出相應的輸出。例如:
no answer題解
n,cnt=eval(input()),0 Matrix1=[[j for j in list(map(eval,input().split()))] for i in range(0,n)] Matrix2=[[Matrix1[j][i] for j in range(0,n)] for i in range(0,n)] rowmax=[max(Matrix1[i]) for i in range(0,n)] colmax=[min(Matrix2[i]) for i in range(0,n)] for index,value in enumerate(rowmax):for j in range(0,n):if Matrix1[index][j]==value:if colmax[j]==value:cnt+=1 print(cnt)5-10 兩數之和
給定一組整數,還有一個目標數,在給定這組整數中找到兩個數字,使其和為目標數,如找到,解是唯一的。找不到則顯示 “no answer”。輸出的下標按從小到大排序。用一重循環加字典實現。
輸入格式:
在一行中給出這組數。 在下一行輸入目標數
輸出格式:
在一行中輸出這兩個數的下標,用一個空格分開。
輸入樣例1:
在這里給出一組輸入。例如:
2,7,11,15 9輸出樣例1:
在這里給出相應的輸出。例如:
0 1輸入樣例2:
在這里給出一組輸入。例如:
3,6,9 10輸出樣例2:
在這里給出相應的輸出。例如:
no answer題解
numlist=list(map(eval,input().split(","))) goalnum,flag=eval(input()),1 for index1,value1 in enumerate(numlist):for index2,value2 in enumerate(numlist[index1:]):if (value1+value2)==goalnum:flag=0print(index1,index2+index1) if flag:print("no answer")5-11 字典合并
字典合并。輸入用字符串表示兩個字典,輸出合并后的字典,字典的鍵用一個字母或數字表示。注意:1和‘1’是不同的關鍵字!
輸入格式:
在第一行中輸入第一個字典字符串 在第二行中輸入第二個字典字符串
輸出格式:
在一行中輸出合并的字典,輸出按字典序。"1"的ASCII嗎為49,大于1,排序時1在前,"1"在后,其它的也一樣。
輸入樣例1:
在這里給出一組輸入。例如:
{1:3,2:5} {1:5,3:7}輸出樣例1:
在這里給出相應的輸出。例如:
{1:8,2:5,3:7}輸入樣例2:
在這里給出一組輸入。例如:
{"1":3,1:4} {"a":5,"1":6}輸出樣例2:
在這里給出相應的輸出。例如:
{1:4,"1":9,"a":5}題解
dict1,dict2=dict(eval(input())),dict(eval(input())) for i in dict2:if i not in dict1:dict1[i]=dict2[i]else:dict1[i]+=dict2[i] print("{",end="") s1=[i for i in dict1.keys() if type(i)==type(1)] s2=[i for i in dict1.keys() if type(i)==type('dict1')] s1.sort() s2.sort() c,n=0,len(dict1) for i in s1+s2:c+=1if type(i)==type(1):print("{}:{}".format(i,dict1[i]),end='')else:print('"{}":{}'.format(i,dict1[i]),end='')if c!=n:print(',',end='') print("}")總結
以上是生活随笔為你收集整理的浙大PTA-Python题库 编程题第五章(5-1~5-11)题解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ev3编程变量模块_ev3编程模块.pd
- 下一篇: Python函数绘图