# 在控制台录入人的信息（姓名、年龄、性别、体重）
# 如果名称为空字符串 停止
# 将所有人的信息打印
# 数据结构
# {
#     'shibw':[18,'男',80.0],
#     'mengmeng':[...]
# }
# 定义空字符串保存数据
dict_info = {}
# 循环获取用户输入的姓名、年龄、性别、体重
while True:
    name = input('请输入姓名:')
    # 如果姓名为空 退出循环
    if name == '':
        break
    age = int(input('请输入年龄:'))
    gender = input('请输入性别:')
    weight = float(input('请输入体重:'))
    # 将姓名作为键 [年龄、性别、体重] 作为值添加到字典中
    dict_info[name] = [age, gender, weight]
# 从字典中获取每一个键值对
# 打印
for key, value in dict_info.items():
    print('%s的年龄是%d,性别是%s,体重是%.1f' % (key, value[0], value[1], value[2]))


'''
存储多个数据时，使用什么样的数据结构？
根据需求 结合本身的优缺点 综合考虑

列表：
    优点：添加/获取元素时比较灵活 可以使用索引/切片操作
    缺点：数据量大时，查找慢 通过索引获取值时，如果信息量多，代码可读性差
字典：
    优点：根据key获取value 速度快
         如果获取数据较多数据时 通过键获取值代码可读性较好
    缺点: 不能使用索引和切片操作元素 不灵活
         占用内存较大
'''