# 如何写一个关于文件处理的 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(1)
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('提示:请输入正确的选择项')
python 如何写一个关于文件处理的 python 程序
猜你喜欢
转载自blog.csdn.net/qq_26086231/article/details/121306803
今日推荐
周排行