测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A32681. 食堂问卷调查学校食堂为了提高服务质量,让老师和同学们更好地投入工作和学习,对同学们开展了问卷调查,调查项目共 5 项(即 5 个问题),每个项目有 A、B、C 三个选项,同学们每题可选一项,学校后勤管理的李老师对调查结果进行了收集整理,并存放在"myd.csv"文件中(部分数据如图所示),现在需要分析同学们对这 5 个项目的答题情况,统计出每个项目选"A"的情况。李老师用 Python编写了以下…

填空题 中等

题目描述

食堂问卷调查

学校食堂为了提高服务质量,让老师和同学们更好地投入工作和学习,对同学们开展了问卷调查,调查项目共 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)+"题"]))

参考答案

import csv with open("/data/myd.csv") as f: cont=list(csv.reader(f)) gk={"第 1题":0,"第 2 题":0,"第3 题":0,"第 4题":0,"第5 题":0} for row in cont[1:]:#或者 1:len(cont) for i in range( len(row)): if row[i]=='A': #或者"A" qk["第"+str(i+1)+"题"]+=1 for i in range(5): print("第"+str(i+1)+"题选 A 的人数为:"+str(qk["第"+str(i+1)+"题"]))

答案解析

(1)myd.csv 或等效答案;(1分

(2)1:或者 1:len(cont)或等效答案;(1分)

(3)"A'或者"A"或等效答案。(2分)

本题考査了对 csv 文件的操作和数据处理能力,同时也考査了枚举算法思想。with 语句打开文件,处理结束后会自动关闭被打开的文件,参数对象为对应的文件名“myd.csv”;

由于在 CSV 文件中,第一行为标题行,因此统计从第二行开始也就是索引1开始切片,②处应该填写行切片 1:或者 1:len(cont);从外循环来看,row 表示每一行内容,内循环变量i则表示每一列的列索引号,即分别取 0~4,那么 row[i]则表示每道题的具体答案,因为要统计A选项的人数,因此③处应该是判断是否选“A”,对选A的题目,字典中相应的值递增 1。

上一题 下一题