一、编程题
1、整数问题
给定一个十进制整数 n,求出从 1 到 n 的所有整数中出现“1”的个数。
例如,n=2 时,1,2 出现 1 个“1”。
n=12 时,1,2,3,4,5,6,7,8,9,10,11,12,出现 5 个“1”。
现编写一个程序,实现如下功能:输入整数 n,执行程序后,输出该范围内出现“1”的个数。请完善程序。
n=int(input('请输入整数:'))
①
i=1
while ② :
x=i
while x>0:
if ③ :
count=count+1
x//=10
④
print(n,'范围内 1 的个数有:',count)
参考答案:```pythoncount = 0i = 1while i <= n:x = iwhile x > 0:if x % 10 == 1:count += 1x //= 10i += 1print(f'n范围内 1 的个数有:count')```
2、偶数排序
下列程序将数列中的偶数按从小到大顺序输出,请你补全代码。
def even(x):
return x%2==0 #自定义函数 even,判断 x 是否为偶数
c=[3,7,1,18,9,12,5,2,22,10]
n= ①
h=[]
for i in ② :
for j in range(0,n-i-1):
if ③ :
c[j],c[j+1]= ④
for i in range(0,n-1):
h=filter( ⑤ ,c)
ans=list(h)
print(ans)
参考答案:① c 的长度,即 n = len(c)② c,表示对 c 进行迭代③ even(c[j]) and even(c[j+1]),表示判断 c[j] 和 c[j+1] 是否都是偶数④ c[j], c[j+1],表示交换 c[j] 和 c[j+1] 的值⑤ lambda x: even(x),表示对 c 中的元素进行筛选,只保留偶数
3、食堂问卷调查
学校食堂为了提高服务质量,让老师和同学们更好地投入工作和学习,对同学们开展了问卷调查,调查项目共 5 项(即 5 个问题),每个项目有 A、B、C 三个选项,同学们每题可选一项,学校后勤管理的李老师对调查结果进行了收集整理,并存放在"myd.csv"文件中(部分数据如图所示),现在需要分析同学们对这 5 个项目的答题情况,统计出每个项目选"A"的情况。李老师用 Python编写了以下代码,输出结果如下图,请你完善划线处。
import csv
with open("/data/ ① ")as f:
cont=list(csv.reader(f))
qk={"第 1 题":0,"第 2 题":0,"第 3 题":0,"第 4 题":0,"第 5 题":0}
for row in cont[ ② ]:
for i in range( len(row)):
if row[i]== ③ :
qk["第"+str(i+1)+"题"]+=1
for i in range(5):
print("第"+str(i+1)+"题选 A 的人数为:"+str(qk["第"+str(i+1)+"题"]))
参考答案:①"myd.csv"②1:③"A"
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!