文件处理 · 4练习

2026-08-28 14:30
练习1 · 英汉词典读取 英汉词典.py
读取 英汉词典.txt,构建字典,英文→中文查询,quit 退出
""" 英汉词典读取 """ with open("英汉词典.txt", encoding="utf8") as f: eng_dict = {} for line in f: line = line.rstrip() fields = line.split(",") if len(fields) == 2: eng_dict[fields[0]] = fields[1] while True: info = input("请输入英文词语: ") if info == "quit": break if info in eng_dict: print("汉语:", eng_dict[info]) else: print("没有这个词语")
练习2 · 婚礼礼金程序 文件的婚礼礼金程序.py
写入 婚礼礼金.txtquit 后统计加和/最高/最低/平均
""" 婚礼礼金程序 """ fname = "婚礼礼金.txt" with open(fname, "w", encoding="utf8") as f: while True: info = input("请输入来人和金额: ") if info == "quit": break fields = info.split() if len(fields) == 2: name, money = fields f.write(f"{name},{int(money)}\n") with open(fname, encoding="utf8") as f: moneys = [] for line in f: fields = line.rstrip().split(",") if len(fields) == 2: moneys.append(int(fields[1])) print("加和:", sum(moneys)) print("最高:", max(moneys)) print("最低:", min(moneys)) print("平均:", sum(moneys)/len(moneys))
练习3 · 成绩录入 JSON 成绩录入json.py
加载/保存 成绩录入json.txt,JSON格式存储
""" 成绩录入 JSON """ import os, json file_name = "成绩录入json.txt" grade_dict = {} if os.path.exists(file_name): with open(file_name, encoding="utf8") as f: grade_dict = json.loads(f.read()) while True: info = input("请输入姓名和成绩: ") if info == "quit": break fields = info.split() if len(fields) == 2: name, grade = fields grade_dict[name] = int(grade) with open(file_name, "w", encoding="utf8") as f: f.write(json.dumps(grade_dict))
练习4 · 异常处理成绩录入 异常处理学生成绩录入程序.py
try/except 捕获非数字异常,程序不退出
""" 异常处理成绩录入 """ file_name = "学生成绩带异常处理.txt" with open(file_name, "w", encoding="utf8") as f: while True: info = input("请输入姓名和成绩: ") try: if info == "quit": break name, grade = info.split() grade = int(grade) except Exception as e: print("出现问题了:", e, "你输入的是:", info) continue f.write(f"{name},{grade}\n") print("success")