练习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
写入 婚礼礼金.txt,quit 后统计加和/最高/最低/平均
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格式存储
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")