一、编程题
1、36.当前,我国正在开展新型冠状病毒疫苗接种,自今年 2 月份以来,许多学校的教职员工积极利用空余时间,到当地卫健部门指定的接种点去接种,为了帮助政教员小叶排摸全校教职员工接种情况,根据每天汇总的接种登记表(包含全校教职员工的姓名、组别、年龄、是否接种等信息,已转换为csv格式,见图1”),小徐利用 Python 编写了一个统计程序,方便向校领导汇报各教研组接种情况及全校接种比例等。该程序运行的部分界面如图2所示,请在程序划线处填入合适的代码。
import csv
f = open("/data/vi.csv", "r")
Vac_T = {"语文组": 0, "数学组": 0, "英语组": 0, "物理组": 0, "化学组": 0, "生物组": 0, "政治组":0,"历史组":0,"地理组":0,"技术组":0,"体音美组":0,"后勤组":0,"政教组": 0}
Vac_F = {"语文组": 0, "数学组": 0, "英语组": 0, "物理组": 0, "化学组": 0, "生物组": 0, "政治组":0,"历史组":0,"地理组":0,"技术组":0,"体音美组":0,"后勤组":0,"政教组": 0}
list1 =[]
zrs = 0
zu_max = 0
line = f.readline()
while line:
line = line.strip('\n')
data = line.split(",")
list1.append(data)
①
print(list1[:5])
print("--------------------------------------------")
f.close()
num = len(list1)
for i in range(num):
line_list = list1[i]
if ② :
Vac_T[line_list[1]] += 1
else:
Vac_F[line_list[1]] += 1
for i in Vac_T:
zu_per = Vac_T[i]/(Vac_T[i]+Vac_F[i])
if zu_per > zu_max:
zu_max = zu_per
zu = i
③
tot_per = int(zrs/num*10000+0.5)/100
print("各组接种人数:", Vac_T)
print("各组未接种人数:", Vac_F)
print("全校接种比例:", tot_per)
print("接种疫苗比例最高的组:", zu)
参考答案:
略
2、37.小强建立了一个简易的学生信息系统,使用SQlite进行数据的增加记录和修改记录操作,存储数据,每位学生的记录包含id、name和age这3个字段。程序运行界面如图所示。
程序运行时,显示数据库students.db中的数据表users中的所有记录,用户输入1表示增加记录,输入id、name和age后,记录将增加到数据库中。用户输入2表示修改记录,输入id、name和age后,根据id修改对应的name 和age的值。
程序代码如下:
import sqlite3
con = sqlite3.connect('students.db')
cursor = con.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS users( id int(8) primary key,
name varchar(18),
age int(8))
''')
cursor.close()
con.commit()
con.close()
def user_insert(user_id, user_name, user_age):
con = sqlite3.connect('students.db')
cursor = con.cursor()
cursor.execute("insert into users (id,name,age) values (?,?,?)", (user_id, user_name, user_age))
cursor.close()
con.commit()
con.close()
def user_select():
con = sqlite3.connect(' ① ')
cursor = con.cursor()
② ('select * from users')
print(cursor.fetchall())
cursor.close()
con.close()
def user_update(user_id, user_name, user_age):
con = sqlite3.connect('students.db')
cursor = con.cursor()
cursor.execute('UPDATE users SET name=?,age=? WHERE id =?',(user_name, user_age,user_id))
cursor.close()
con.commit()
con.close()
print("------------学生信息系统样例------------")
while True:
③
s = int(input("请输入操作符:1-增加记录,2-修改记录,3-退出系统"))
if ④ :
break
user_id = int(input("请输入id:"))
user_name = input("请输入name:")
user_age = input("请输入age:")
if s == 1: # 增加记录
⑤
print("插入成功!")
elif s == 2: # 修改记录
user_update(user_id, user_name, user_age)
print("修改成功!")
请在画线处填入正确的代码。
参考答案:
略
3、38.编程定义一个类,实现求长方体体积,并输出当长方体的长度、宽度和高度分别为10、20和30时的体积,请保留小数点后两位数字。
请补全代码:
class Box():
def __init__( ① ):
② =length1
③ =width1
④ =height1
def volume(self):
return ⑤
my_box=Box(10,20,30)
print("长方体体积是%.2f"%my_box.volume())
参考答案:
略
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!