第 14 章 上机操作题
学习目标
- 区分基本编程题、简单应用题和综合编程题。
- 按指定文件名保存和运行程序。
- 根据输出、文件内容和代码要求进行自测。
- 完成一组接近正式考试形式的原创训练题。
1. 操作题的评分特点
操作题共 60 分。程序必须保存为题目指定的文件名,并能够完整运行。程序报错、没有输出或输出格式不符,都可能失去相应分数。
答题前先阅读初始代码、输入文件和输出要求。可以删除允许修改的提示代码,但不能改动题目明确禁止修改的部分。Turtle 填空题尤其要注意空格、标点和大小写。
2. 基本编程题
题目:文件 basic_score.py。输入一个整数成绩,输出“及格”或“不及格”。
score = eval(input())
if score >= 60:
print("及格")
else:
print("不及格")
输入 59 时输出:
不及格
3. 简单应用题
题目:文件 random_code.py。使用固定种子,从给定字符中生成 8 位验证码。
import random
chars = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789"
random.seed(2026)
code = ""
for i in range(8):
code += random.choice(chars)
print(code)
设置相同种子后,程序每次输出相同结果,便于对照测试。
4. 综合编程题
题目:读取 scores.csv,计算每个学生的总分,并按“姓名,总分”写入 result.csv。
scores.csv 的内容:
姓名,语文,数学
李明,88,92
王宁,91,85
source = open("scores.csv", "r", encoding="utf-8")
lines = source.readlines()
source.close()
target = open("result.csv", "w", encoding="utf-8")
for line in lines[1:]:
name, chinese, math = line.strip().split(",")
total = int(chinese) + int(math)
target.write("{},{}\n".format(name, total))
target.close()
result.csv 的内容应为:
李明,180
王宁,176
5. 提交前检查
- 文件名是否与题目完全一致。
- 程序是否从第一行到最后一行都能运行。
- 输入提示和输出文字是否多写或少写。
- 小数位数、分隔符和换行是否符合要求。
- 需要生成的文件是否出现在指定目录。
- 中文标点是否误入 Python 代码。
本章练习
- 输入两个整数,输出较大值,文件名为
max_value.py。 - 统计字符串中数字字符的个数,文件名为
count_digits.py。 - 读取一行逗号分隔的整数,输出它们的平均值,保留一位小数。
- 把第 4 节的综合题改为同时输出平均分,平均分保留一位小数。
本章小结
- 操作题先看文件名、输入、输出和允许修改的范围。
- 基本题重点是语法和分支循环,应用题会组合库或数据结构。
- 综合题通常连续完成读取、处理和写文件。
- 提交前要实际运行程序,并检查生成文件的内容。