赞
踩
其他各章题解链接如下
浙大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
输入一个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())])
图的字典表示。输入多行字符串,每行表示一个顶点和该顶点相连的边及长度,输出顶点数,边数,边的总长度。比如上图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+=1
sum+=temp[key]
print("{:d} {:d} {:d}".format(n,num,sum))
四则运算(用字典实现),比较c语言的switch语句。
在一行中输入一个数字 在一行中输入一个四帜运算符(+,-,*,/) 在一行中输入一个数字
在一行中输出运算结果(小数保留2位)
在这里给出一组输入。例如:
7
/
3
在这里给出相应的输出。例如:
2.33
在这里给出一组输入。例如:
10
/
0
在这里给出相应的输出。例如:
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")
利用集合分析活动投票情况。第一小队有五名队员,序号是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)
本题要求编写程序,统计并输出某给定字符在给定字符串中出现的次数。
输入第一行给出一个以回车结束的字符串(少于80个字符);第二行输入一个字符。
在一行中输出给定字符在给定字符串中出现的次数。
programming is More fun!
m
2
string,char,cnt=input(),input(),0
for i in string:
if(i==char):
cnt+=1
print(cnt)
给定公司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]]=1
else:
timedict[timelist[i]]+=1
for i in sorted(timedict.keys()):
print("{}:{}".format(i,timedict[i]))
输入一个列表,去掉列表中重复的数字,按原来次序输出!
在一行中输入列表
在一行中输出不重复列表元素
在这里给出一组输入。例如:
[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)
在一行中从键盘输入2个正整数a,b(1<=a<b<=10000000),用空格隔开。
在一行输出大于等于a且小于等于b的能被3,5和7整除的数的个数。
在这里给出一组输入。例如:
10 100
在这里给出相应的输出。例如:
0
在这里给出一组输入。例如:
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]))
给定一组整数,还有一个目标数,在给定这组整数中找到两个数字,使其和为目标数,如找到,解是唯一的。找不到则显示 “no answer”。输出的下标按从小到大排序。用一重循环加字典实现。
在一行中给出这组数。 在下一行输入目标数
在一行中输出这两个数的下标,用一个空格分开。
在这里给出一组输入。例如:
2,7,11,15
9
在这里给出相应的输出。例如:
0 1
在这里给出一组输入。例如:
3,6,9
10
在这里给出相应的输出。例如:
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)
给定一组整数,还有一个目标数,在给定这组整数中找到两个数字,使其和为目标数,如找到,解是唯一的。找不到则显示 “no answer”。输出的下标按从小到大排序。用一重循环加字典实现。
在一行中给出这组数。 在下一行输入目标数
在一行中输出这两个数的下标,用一个空格分开。
在这里给出一组输入。例如:
2,7,11,15
9
在这里给出相应的输出。例如:
0 1
在这里给出一组输入。例如:
3,6,9
10
在这里给出相应的输出。例如:
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=0
print(index1,index2+index1)
if flag:
print("no answer")
字典合并。输入用字符串表示两个字典,输出合并后的字典,字典的键用一个字母或数字表示。注意:1和‘1’是不同的关键字!
在第一行中输入第一个字典字符串 在第二行中输入第二个字典字符串
在一行中输出合并的字典,输出按字典序。"1"的ASCII吗为49,大于1,排序时1在前,"1"在后,其它的也一样。
在这里给出一组输入。例如:
{1:3,2:5}
{1:5,3:7}
在这里给出相应的输出。例如:
{1:8,2:5,3:7}
在这里给出一组输入。例如:
{"1":3,1:4}
{"a":5,"1":6}
在这里给出相应的输出。例如:
{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+=1 if type(i)==type(1): print("{}:{}".format(i,dict1[i]),end='') else: print('"{}":{}'.format(i,dict1[i]),end='') if c!=n: print(',',end='') print("}")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。