一、编程题
1、36.百钱买百鸡是我国古代数学家张丘建在《算经》一书中提出的数学问题,问题的原文是:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?这个问题用现代文描述起来就是:公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱。如果用100文钱买100只鸡,那么公鸡、母鸡和小鸡各应该买多少只呢?请完成下面程序中空白处的语句,实现对问题的求解,找出所有符合题目要求的买鸡方案,并输出。
\#设cock、hen、chicken分别为公鸡、母鸡和小鸡的数量,num为符合题目要求的方案数目。
num=0
for cock in range(1,21):
for hen in range(1,34):
for chicken in ① :
if ② == 100 and cock*5 + hen*3 + chicken/3 == ③ :
num = ④
print(f'第 {num} 种方案是:公鸡{cock}只,母鸡{hen}只,小鸡{chicken}只')
参考答案:① range(1,101,3)② cock + hen + chicken③ 100④ num+1
2、37.妙妙学校举行了知识竞赛,有一、二、三3个班分别派出最优秀的5名代表参加此次竞赛。这15名代表的成绩存放于”jscj.csv”文件中,现在妙妙读取了其中的数据,数据内容如图所示:
下列代码实现了读取竞赛分数信息,并输出各班平均分的情况,请你补全代码。
import csv
with open("/data/jscj.csv",encoding="utf-8")as f:
rows=list( ① (f))
sum=[0,0,0]
for row in rows[1:]:
if int(row[0])==1:
sum[0]+=int(row[2])
elif int( ② )==2:
sum[1]+=int(row[2])
else:
sum[2]+=int(row[2])
for i in range(1,4):
print(str(i)+"班的平均分为:",round( ③ /5,2))
参考答案:br />① csv.reader② row[0]③ sum[i-1]
3、38.若要生成一个由若干小写字母组成的互不重复的随机数组,已知小写字母的ASCII码值为97~122整数范围,并将其进行从小到大输出,如图所示,请将相关程序补充完整。
import random #random是随机数模块
n=int(input("请输入元素个数(不超过26):"))
a=[]
\#产生不重复的随机数组
for i in range(n):
x=random.randint(97,122) #产生97-122之间的随机整数
while chr(x) in a:
x=random.randint(97,122)
a.append( ① )
print(a)
\#将各个元素进行排序输出
for i in range(n-1):
k=i
for j in range( ② ,n):
if a[k]>a[j]:
k= ③
if i!=k:
a[i],a[k]= ④
print("该随机数组从小到大排列为:",a)
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!