#   3. << 学生信息管理项目 >>
#     输入任意个学生的姓名,年龄,成绩, 每个学生的信息存入字典,然后
#     放入到列表中,每个学生的信息需要手动输入
#     如:
#       请输入姓名: tarena
#       请输入年龄: 17
#       请输入成绩: 99
#       请输入姓名: name2
#       请输入年龄: 20
#       请输入成绩: 88
#       请输入姓名: <回车结束输入>
#     内部存储格式如下:
#       [{'name': 'tarena', 'age': 17, 'score':99}, 
#        {'name': 'name2', 'age': 20, 'score':88}]      

#    输入完毕后,以表格形式打印上述信息:
#     +--------------+----------+----------+
#     |    姓 名      |  年 龄   |  成  绩   |
#     +--------------+----------+----------+
#     |    tarena    |    17    |    99    |
#     |     name2    |    20    |    88    |
#     +--------------+----------+----------+


L = []  # 先创建一个列表容器,准备存放字典
while True:
    n = input("请输入姓名: ")
    if not n:  # 如果n绑定空字符串,则退出录入信息
        break
    a = int(input("请输入年龄: "))
    s = int(input("请输入成绩: "))
    d = {}  # 创建字典,准备存放学生信息
    d['name'] = n
    d['age'] = a
    d['score'] = s
    L.append(d)

# 打印列表信息:
print(L)  

# 以表格的形式打印学生信息
print("+--------------+----------+----------+")
print("|    姓 名     |  年 龄   |  成  绩  |")
print("+--------------+----------+----------+")
for d in L:
    sn = d['name']  # sn绑定姓名的字符串
    sa = str(d['age'])  # sa 绑定年龄的字符串
    ss = str(d['score'])  # ss 绑定成绩的字符串
    s = "|%s|%s|%s|" % (sn.center(14),
                        sa.center(10),
                        ss.center(10))
    print(s)
# print("|    tarena    |    17    |    99    |")
# print("|     name2    |    20    |    88    |")
print("+--------------+----------+----------+")




