一、编程题
1、36.| 参考程序:已知有一些学生数据,每名学生的信息是一个字典。所有学生信息放在列表中。(1)计算每个学生的平均分(语文+数学+英语)/3,并对平均分取整,追加到其字典;(2)根据学生的平均分从低到高排列;(3)输出每位学生的学号和平均分。输出格式如下:20230103:72 20230102:82 20230101:92程序模板如下:students= [{'学号':'20230101','语文': 90,'数学':95,'英语':92},{'学号':'20230102','语文': 80,'数学':85,'英语':82},{'学号':'20230103','语文': 70,'数学':75,'英语':72}]for student in students: ① students.sort(key = lambda x:x['平均分'],reverse = False) for student in students: print('{}:{}'.format( ② , ③ )) | |
| ------------------------------------------------------------ | ---- |
| | |
| | |
2、37.信息科技社团正在进行一种字符串扩展的实验,实验操作方法如下:
(1)给定一个初始字符串s,筛选出其中的大小写字母,生成新的字符串x;
(2)将字符串x最后一个字符删除,生成一个新的字符串y;
(3)将字符串x的右边最后一个字符拼接到字符串x的末尾;
(4)将字符串y拼接到字符串x的末尾。
按照(2)-(4)步骤重复操作,每一步将当前字符串的长度加倍,直到字符串x长度达到n。
给定初始字符串和n,请帮助社团同学们计算扩展的字符串中第n个位置的字符。
以s=“c1ar23”,n=8 为例
c1ar23 --> car --> carrca --> carrcaacarrc
第8个位置上的字符'c',则输出为c
输入格式:
第一行,一个字符串s(长度不超过20)
第二行,一个整数n(1<=n<=100)
输入样例:
c1ar23
8
输出格式:
一个字符,表示扩展的字符串中的第n个字符。
输出样例:
c
s=input()
n=int(input())
x=""
for i in s:
if ((i>='A' and i<='Z') ① ):
x=x+i
xn=len(x)
while xn
y=x.replace( ② , '')
x=x+x[-1]
x=x+y
xn= ③
print( ④ )
参考答案:```pythons = input()n = int(input())x = ""for i in s:if i.isalpha():x += ixn = len(x)while xn < n:y = x[:-1]x = x[:-1] + x[-1] + yxn = len(x)print(x[n-1])```
3、38.编写Python程序,要求输出区间[m,n]内所有素数的和,实现上述功能的 Python 程序如下,请在划线处填入合适的代码。
def isPrime(num): #判断素数
num=int(num)
for i in range(2,num):
if ① :
return False
if num!=1:
return True
def PrimeSum(a,b):
sum=0
for i in range(a,b+1):
if isPrime(i):
②
return sum
m=int(input("m:"))
n=int(input("n:"))
print( ③ )
参考答案:```pythondef isPrime(num): #判断素数num = int(num)for i in range(2, num):if i * i > num:breakif num % i == 0:return Falseif num != 1:return Truedef PrimeSum(a, b):sum = 0for i in range(a, b+1):if isPrime(i):sum += ireturn summ = int(input("m:"))n = int(input("n:"))print(PrimeSum(m, n))```
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!