返回课程目录

第 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 节的综合题改为同时输出平均分,平均分保留一位小数。

本章小结

  • 操作题先看文件名、输入、输出和允许修改的范围。
  • 基本题重点是语法和分支循环,应用题会组合库或数据结构。
  • 综合题通常连续完成读取、处理和写文件。
  • 提交前要实际运行程序,并检查生成文件的内容。