试卷总分:100分
选择题 25题 50分
判断题 10题 20分
编程题 3题 30分
学校体育王老师要统计学生跳绳的平均个数,每名学生的跳绳个数记录在文件 jump.txt 中,每行一个数字,表示一名学生的跳绳个数。编写 Python 程序计算平均个数,要一次性读取所有行,返回列表,再进行计算。读取功能最合适的方法是?
数学老师编写以下 Python 程序录入学生成绩,使用 with 语句打开成绩记录文件:cj.txt,使用 with 语句打开文件的好处是?
with open("cj.txt", "w") as f: f.write("100")
小明想把每天学习的生字保存到文件 a.txt 中,只需保留当天的生字,因此每天覆盖旧内容,如果文件不存在就自动创建。编写 Python 程序打开文件 a.txt ,应该使用的打开模式是?
小明同学想编写 Python 程序,绘图展示上海一周温度的变化趋势(连续变化),最合适的图表是?
校长想比较全校每个班级的人数,直观看出哪个班人数多,哪个班人数少,最适合使用的图表是?
小明编写了一段 Python 程序,使用 matplotlib 绘制一张折线图。还要给整张图加上标题 “我的成绩变化图”,添加标题应该使用的函数是?
小明同学编写如下所示的 Python 程序,绘制一张饼形图,用于展示各种水果销量占比,运行后没有显示饼形图,需要在程序最后添加的代码是?
import matplotlib.pyplot as plt plt.rcParams["font.sans-serif"] = ["SimHei"] a = [30, 25, 20, 15, 10] b = ["苹果", "香蕉", "橙子", "草莓", "葡萄"] plt.pie(a, labels=b, autopct="%1.1f%%") __________
编写一段 Python 程序,使用 SQLite 存储班级通讯录,必须在 Python 程序开头导入库,使用的语句是?
编写一段 Python 程序,要在数据库中创建一张新表 stu,包含 id 和 name 列,可以实现的 SQL 语句是?
编写一段 Python 程序,查询所有年龄大于 10 岁的同学,正确的 SQL 语句是?
编写一段 Python 程序,需要把一条新同学的记录插入到表 stu1 中,可以使用的 SQL 命令是?
已知文件 a.txt 保存在程序同一个目录,文件 a.txt 内容如下。为了读取文件 a.txt 的相关信息,小陈同学编写了下面这一段 Python 程序,运行程序后的输出结果是?
文件 a.txt 的内容: 75 85 94 72 67 56 程序: with open("a.txt", "r") as f: a = 0 for i in f: a = a + 1 print("a=", a)
在 Python 中,以下代码的输出结果是?
import json s = '{"city": "北京", "temp": [25, 28, 30]}' data = json.loads(s) print(data["temp"][1])
某 API 返回的 JSON 数据如下,要获取城市名称,正确的代码是?
import json s = '{"city": "上海", "aqi": 85, "level": "良"}' data = json.loads(s)
有关一维、二维数据处理,说法错误的是?
某 Python 程序如下:
st = [[1,2.5], [2,5], [3,5], [5,6], [7,9]] n = len(st) c = 0 t = 0 i = 0 while i < n: f = st[i][0] s = st[i][1] if f >= t: c += 1 t = s i += 1 print(c)
程序运行后,输出的结果是?
以下关于二维数据用嵌套列表 data 表示的描述,错误的是?
停车场计费系统中,以下 Python 代码输出结果是?
class Parking: def charge(self, hours): return hours * 5 class VIPParking(Parking): def charge(self, hours): if hours <= 2: return 0 return super().charge(hours - 2) v = VIPParking() print(v.charge(5))
关于 Python 类与对象的基础语法,说法正确的是?
下列关于面向对象继承的说法,错误的是?
快递系统中,以下 Python 代码输出结果是?
class Package: def __init__(self, weight): self.weight = weight def fee(self): return self.weight * 10 class Express(Package): def fee(self): return self.weight * 15 + 5 p = Package(2) e = Express(2) print(p.fee(), e.fee())
在 Python 的 tkinter 中,创建主窗口并设置窗口标题的正确代码是?
以下关于 tkinter 的 Label 控件的说法,错误的是?
以下 Python 代码实现的功能是?
import tkinter as tk from tkinter import messagebox root = tk.Tk() def confirm(): result = messagebox.askyesno("确认", "确定要退出吗?") if result: root.destroy() btn = tk.Button(root, text="退出", command=confirm) btn.pack() root.mainloop()
在以下的 Python 代码中,Entry 控件的 show 参数有什么作用?
import tkinter as tk root = tk.Tk() pwd = tk.Entry(root, show='*') pwd.pack() root.mainloop()
使用 'w' 模式打开一个不存在的文件时,Python 会自动创建该文件。
使用 readlines () 读取文件后,返回的是一个字符串,包含文件中所有行的内容。
在 Python 编程中,plt.plot () 函数可以用来绘制折线图。
在 Python 编程中,plt.bar () 函数用于绘制饼图。
在 Python 中,SQLite 数据库支持整型(INT)、文本(TEXT)、浮点(FLOAT)等数据类型。
在 Python 编程中,json.loads () 和 json.load () 功能相同,可以互换使用。
可以通过 [[0]*3]*5 创建 5 行 3 列的真正全 0 二维列表。
通过某个实例对类变量进行赋值操作(如 s1.school = ' 新值 '),会为该实例创建同名实例变量,不会影响类变量本身。
子类重写父类方法的目的是实现子类专属功能,拓展继承特性。
在 Python 的 tkinter 中,使用 grid 布局时,如果不指定 row 和 column 参数,控件默认放置在第 0 行第 0 列。
员工薪酬计算器
某公司员工分为普通员工和经理两类:普通员工只领取基本工资;经理在基本工资之外,还享有绩效奖金。经理的总薪酬 = 基本工资 + 绩效奖金。利用 “类与子类” 编写程序:先定义一个员工基类 Yuangong,再定义经理子类 Jingli 继承自 Yuangong,并重写薪酬计算方法。当输入姓名、基本工资和绩效奖金后,输出该经理的姓名与总薪酬。(示例:依次输入 “张三”、5000、2000,输出 “张三 的总薪酬为:7000.00”。)请补全以下代码。
class Yuangong(): def __init__(self, name, jiben): self.name = name self.jiben = jiben def gongzi(self): return self.jiben class Jingli( ① ): def __init__(self, name, jiben, jiangjin): super().__init__( ② ) self.jiangjin = ③ def gongzi(self): return super().gongzi() + self.jiangjin name = input('输入姓名:') jiben = float(input('输入基本工资:')) jiangjin = float(input('输入绩效奖金:')) j = ④ print('%s 的总薪酬为:%.2f' % (j.name, j.gongzi()))
成绩统计
数学老师把全班成绩保存在文件 num.txt 中,每行记录一位同学的成绩,例如:
72
88
75
93
请补全以下程序,读取所有成绩数据并计算总和,然后将总和写入新文件 total.txt 中。
total = 0 with open("/data/ ① ", "r") as f: for line in f: total = total + int( ② ) with open(" ③ ", "w") as f: f.write( ④ ) print(f"总和为:{total}")
数据库操作
基于 score.db 数据库(数据表 scores:id、name、grade、class),实现修改指定学生成绩、统计各班优秀人数(grade>90)、格式化输出功能,补全代码。
(本题无需运行通过,写入代码即可)
import sqlite3 # 连接数据库 conn = sqlite3.connect("score.db") cursor = ① # 任务1:修改2班李四的成绩为95 update_sql = "UPDATE scores SET grade = ? WHERE class = ? AND name = ?" cursor.execute(update_sql, (95, "2班", "李四")) ② # 提交数据修改 # 任务2:统计各班成绩优秀人数 cursor.execute("SELECT class FROM scores WHERE grade > 90") res = ③ # 获取全部查询结果 count_dict = {} for row in res: cls = row[0] if cls in count_dict: count_dict[cls] += 1 else: ④ # 任务3:格式化输出 print("各班优秀学生统计:") for cls, num in count_dict.items(): print(f"{cls}:{num}人") # 关闭资源 ⑤ conn.close()