上面两个链接可直达。
041:成绩排序
def f(x):
return (-int(x[1]),x[0])
n=int(input())
ans=[]
for i in range(n):
ans.append(input().split())
ans.sort(key = f)
for i in range(n):
print(ans[i][0],ans[i][1])
042:图像模糊处理
import copy
n,m=map(int,input().split())
g=[]
for i in range(n):
g.append(list(map(int,input().split())))
ans=copy.deepcopy(g)
for i in range(1,n-1):
for j in range(1,m-1):
ans[i][j]=round((g[i][j]+g[i-1][j]+g[i+1][j]+g[i][j-1]+g[i][j+1])/5)
for i in range(n) :
for j in range(m):
print(ans[i][j],end=" ")
print("")
043:向量点积计算
n=int(input())
a=list(map(int,input().split()))
b=list(map(int,input().split()))
sum =0
for i in range(n):
sum+=a[i]*b[i]
print(sum)
044:病人排队
使用了lambda表达式,先按是否年龄小于60排序,小的为false<true,自然排后面了。
然后年龄大的在前,如果年龄大于60,排大小,小于60都为0不排序
n=int(input())
a=[]
for i in range (n):
lis=list(map(str,input().split()))
a.append(lis)
a.sort(key = lambda x : (int(x[1])<60,-int(x[1]) if int(x[1])>60 else 0))
for i in range(n):
print(a[i][0])
045:矩阵乘法
n,m,k=map(int, input().split())
a=[]
for i in range(n):
lis=list(map(int,input().split()))
a.append((lis))
b=[]
for i in range(m):
lis=list(map(int,input().split()))
b.append((lis))
c=[[0 for j in range(k)]for i in range(n)]
for i in range(n):
for j in range (k):
for v in range(m):
c[i][j]+= a[i][v]*b[v][j];
print(c[i][j],end=" ")
print("")
046:回文子串
ans=[]
st=input()
for i in range(0,len(st)-1):
for j in range(i+2,len(st)+1):
a=st[i:j]
b=a[::-1]
if(a==b):
ans.append(a)
ans.sort(key = lambda x : len(x))
for i in range(len(ans)):
print(ans[i])