1字典和文件处理-。学生的成绩
a.在开始时,程序会询问用户是否要添加、修改、删除或全部打印。
b.如果用户选择添加,程序会提示用户输入一个名字和一个等级,之后程序会再次以字母a的形式显示提示。
c.如果用户选择修改,程序会提示用户输入想要修改的学生的名字。该程序将显示旧的成绩,并将提示用户输入新的成绩。程序将更新成绩。在此之后,程序将再次显示字母a的提示。
d.如果用户选择删除,程序会提示用户输入要删除的学生的名字。然后该程序将删除该学生记录。
e在任何时候,如果用户选择打印,将显示所有学生的姓名和成绩。
f.如果用户选择退出,程序将退出。将显示一条说再见的消息。
g.程序应该能够使用至少一个功能。
h.程序应该能够使用字典。
i.该程序应该能够使用文件文本处理。这意味着学生的名字应该保存在一个文本文件中。
如何写一个关于文件处理的 python 程序
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- U盘失踪了 2021-11-13 16:49关注
# 如何写一个关于文件处理的 python 程序 # 1字典和文件处理-。学生的成绩 # a.在开始时,程序会询问用户是否要添加、修改、删除或全部打印。 # b.如果用户选择添加,程序会提示用户输入一个名字和一个等级,之后程序会再次以字母a的形式显示提示。 # c.如果用户选择修改,程序会提示用户输入想要修改的学生的名字。该程序将显示旧的成绩,并将提示用户输入新的成绩。程序将更新成绩。在此之后,程序将再次显示字母a的提示。 # d.如果用户选择删除,程序会提示用户输入要删除的学生的名字。然后该程序将删除该学生记录。 # e在任何时候,如果用户选择打印,将显示所有学生的姓名和成绩。 # f.如果用户选择退出,程序将退出。将显示一条说再见的消息。 # g.程序应该能够使用至少一个功能。 # h.程序应该能够使用字典。 # i.该程序应该能够使用文件文本处理。这意味着学生的名字应该保存在一个文本文件中。 import os import csv import sys import time while True: print(''' ------------- 1,添加 2,修改 3,删除 4,全部打印 5,退出程序 ------------- ''') A = input('请输入选择项:') if A == '1': os.system('cls') try: a,b = (input(''' ps:输入完名字需空格再输入成绩! 请输入名字和成绩:''').split()) print(a,b) dict = {} dict[a] = b for kk,vv in dict.items(): rows = [(kk, vv),] with open('test.txt', 'a+', encoding='utf-8', newline="")as fp: wf = csv.writer(fp) wf.writerows(rows) print('添加学生信息成功!') time.sleep(1) except: print("输入有误,请输入示例如:小明 A") elif A == '2': os.system('cls') dict = {} with open('test.txt', encoding='utf-8') as cf: lines = csv.reader(cf, delimiter='|') for line in lines: for i in line: #print(i[0:2],i[3:4]) dict[i[0:2]]=i[3:4] dict2 = dict name = input('输入姓名:') for kk,vv in dict2.items(): if kk == name: print(name+'的成绩:',dict2[kk]) cj = input('修改成绩为:') dict2[kk]=cj os.remove('test.txt') for kk,vv in dict2.items(): rows = [(kk, vv),] with open('test.txt', 'a', encoding='utf-8', newline="")as fp: wf = csv.writer(fp) wf.writerows(rows) print('修改成功!') time.sleep(0.2) elif A == '3': os.system('cls') dict = {} with open('test.txt', encoding='utf-8') as cf: lines = csv.reader(cf, delimiter='|') for line in lines: for i in line: #print(i[0:2],i[3:4]) dict[i[0:2]]=i[3:4] dict2 = dict name = input('输入姓名:') list1=[] for k in dict2.keys(): if k == name: list1.append(k) for i in list1: del dict2[i] os.remove('test.txt') for kk,vv in dict2.items(): rows = [(kk, vv),] with open('test.txt', 'a', encoding='utf-8', newline="")as fp: wf = csv.writer(fp) wf.writerows(rows) print('删除信息成功!') time.sleep(0.2) elif A == '4': os.system('cls') list1 =[] with open('test.txt', encoding='utf-8') as cf: lines = csv.reader(cf, delimiter='|') for line in lines: list1.append(line) print('姓名','成绩') for i in list1: for w in i: list_str = list(w) list_str.pop(2) list_str.insert(2, ' ') list_str = ''.join(list_str) print(list_str) time.sleep(0.1) elif A == '5': os.system('cls') print('bye~bye~') time.sleep(0.2) sys.exit(0) else: os.system('cls') print('提示:请输入正确的选择项')
解决 无用评论 打赏 举报
悬赏问题
- ¥15 Cloudreve保存用户组存储空间大小时报错
- ¥15 伪标签为什么不能作为弱监督语义分割的结果?
- ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
- ¥15 游戏盾如何溯源服务器真实ip?
- ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
- ¥15 android 集成sentry上报时报错。
- ¥50 win10链接MySQL
- ¥15 抖音看过的视频,缓存在哪个文件
- ¥15 自定义损失函数报输入参数的数目不足
- ¥15 如果我想学习C大家有是的的资料吗