查询学生信息报错
def search(): # 2.查找学生信息student_query = []# 建一个列表
while True:#循环
id = ''
name = ''
if os.path.exists(filename):
mode = input('按ID查找请输入1,按姓名查找请输入2:')
if mode == '1':
id = input('请输入学生的ID:')
elif mode == '2':
name = input('请输入学生姓名')
else:
print('您的输入有误,请重新输入')
search()#如果输入错误 就重新调用自己
with open(filename,'r',encoding='utf-8') as rfile:
student = rfile.readlines()#读取所有内容
for item in student:
d =dict(eval(item))
if id != '':# id不等于空
if d['id'] == id: #如果相等
student_query.append(d) #将他加入到 query列表当中
elif name != '':
if d['name'] == name: #如果相等
student_query.append(d) #将他加入到 query列表当中
#显示查询结果
show_student(student_query)
#清空列表
student_query.clear()
anser = input('是否要继续查询?y/n\n')
if anser =='y':
continue
else:
break
else:
print('暂未保存学生信息')
return
def show_student(lst):
if len(lst) == 0:
print('没有查询到学生信息,无数据显示!')
return
#定义标题的显示格式
format_title = '{:^6 \t {:^12} \t {:^8} \t {:^10} \t {:^10} \t {:^8}}'
print(format_title.format('ID','姓名','英语成绩','Python成绩','Java成绩','总成绩'))
#定义内容的显示格式
format_data = '{:^6 \t {:^12} \t {:^8} \t {:^10} \t {:^10} \t {:^8}}'
for item in lst:
print(format_data.format(item.get('id'),
item.get('name'),
item.get('English'),
item.get('Python'),
item.get('Java'),
int(item.get('English'))+int(item.get('Python'))+int(item.get('Java'))
))
报错
{:^6 这个不是少了半个大括号吗 洋洋痒 发表于 2021-5-16 08:39
{:^6 这个不是少了半个大括号吗
谢谢大佬 本帖最后由 wcq15759797758 于 2021-5-16 10:08 编辑
洋洋痒 发表于 2021-5-16 01:00
{:^6 这个不是少了半个大括号吗
可以啦大佬 谢谢啦!
页:
[1]