比较全面的记录2020省赛题目,本篇文章全文都是采用Python解题,题目都是基础简单的题目
解题代码:
import os import sys n=int(input()) well=0 ok=0 for i in range(n): a=int(input()) if a>=85: well+=1 ok+=1 elif a>=60: ok+=1 print("{:.0f}%".format(100*ok/n)) print("{:.0f}%".format(100*well/n))
2.单词分析
解题:
import os import sys # 请在此输入您的代码 word=input() a=0 b=[] for i in word: c=word.count(i) if c>=a: a=c for j in word: if word.count(j)==a: b.append(j) b.sort() print(b[0]) print(a)
3.门牌制作.
解答:
import os import sys # 请在此输入您的代码 b=0 for i in range (1,2021): a=str(i).count('2') b+=a print(b)
4.数字三角形
解答:
import os import sys # 请在此输入您的代码 n = int(input()) #输入行数n list_1 = [list(map(int,input().split())) for i in range(n)] #依次录入数字三角形 list_2 = list_1[:] for i in range(1,n): #此处i代表循环n-1次 ---->n层中要走n-1步,例如第一层到第二层要走2-1=1步 for j in range(0,i+1): #此处代表i+1次,------>此处代表列 if j == 0: #数字三角形中最左边那个数字只能由右上角哪一个走过来, 即:m[i][j]->m[i-1][j] list_2[i][j] = list_1[i][j] + list_1[i-1][j] elif j == i: #最右边那一个只能来自左上角。 list_2[i][j] = list_1[i][j] + list_1[i-1][j-1] else: list_2[i][j] = list_1[i][j] + max(list_1[i-1][j],list_1[i-1][j-1]) if ((n % 2) == 1): #若为奇数,最底层的终点应该是最中间那个,最底层的中间那一个为:list[n][(n%2)+1] print(list_2[i][j//2]) if ((n % 2) == 0): #若为偶数,最底层的终点为最中间的两个之一,取其中最大的一个就1行了,分别是:list[n][n//2]与list[n][(n//2)+1] print(max(list_2[i][n//2-1],list_2[i][n//2]))
5.成绩分析
解答:
import os import sys # 请在此输入您的代码 n=int(input()) lis=list() for i in range(n): lis.append(int(input())) print(max(lis)) print(min(lis)) print("{:.2f}".format(sum(lis)/n))
后续会持续更新,努力刷题记录中