请从安师大2022级环科2班任意抽取10位同学,每位同学抽取学号、姓名、性别、年龄和专业等5项信息保存,请编写python程序,生成保存10位同学信息的字典,并且能够实现对保存的任何同学的任何信息的方便访问。(要求程序交互友好、足够强壮)
时间: 2023-09-07 16:04:38 浏览: 89
企业-理工环科-2020年年终总结.rar
### 回答1:
好的,以下是符合要求的 Python 代码:
```python
students = {}
for i in range(10):
student = {}
student["学号"] = input("请输入第{}位同学的学号:".format(i+1))
student["姓名"] = input("请输入第{}位同学的姓名:".format(i+1))
student["性别"] = input("请输入第{}位同学的性别:".format(i+1))
student["年龄"] = input("请输入第{}位同学的年龄:".format(i+1))
student["专业"] = input("请输入第{}位同学的专业:".format(i+1))
students[student["学号"]] = student
while True:
stu_id = input("请输入要查询的同学的学号(退出请输入q):")
if stu_id == "q":
break
if stu_id not in students.keys():
print("该学号不存在,请重新输入")
continue
else:
print("该学生的信息如下:")
for key in students[stu_id].keys():
print(key + ": " + students[stu_id][key])
```
程序会先让用户输入10位同学的信息,并将其保存在一个字典中,每个同学对应一个键为学号的子字典。然后,程序会进入一个循环,不断让用户输入要查询的同学的学号,如果学号存在,则输出该学生的所有信息。如果学号不存在,则提示用户重新输入。当用户输入q时,程序退出循环并结束。
### 回答2:
请见下方Python程序:
```python
# 创建一个空的字典用于保存同学信息
students = {}
# 循环输入10位同学的信息
for i in range(10):
print(f"请输入第{i+1}位同学的信息:")
student = {}
student["学号"] = input("学号:")
student["姓名"] = input("姓名:")
student["性别"] = input("性别:")
student["年龄"] = input("年龄:")
student["专业"] = input("专业:")
students[i+1] = student
# 输出保存的同学信息
print("\n保存的同学信息如下:")
for key, value in students.items():
print(f"第{key}位同学的信息:")
print(f"学号:{value['学号']}")
print(f"姓名:{value['姓名']}")
print(f"性别:{value['性别']}")
print(f"年龄:{value['年龄']}")
print(f"专业:{value['专业']}")
print()
# 交互式访问同学信息
while True:
choice = input("请输入要查询的同学序号(输入q退出):")
if choice == 'q':
break
elif int(choice) in students.keys():
student = students[int(choice)]
print(f"\n第{choice}位同学的信息:")
print(f"学号:{student['学号']}")
print(f"姓名:{student['姓名']}")
print(f"性别:{student['性别']}")
print(f"年龄:{student['年龄']}")
print(f"专业:{student['专业']}")
print()
else:
print("输入有误,请重新输入。\n")
print("程序结束。")
```
该程序通过循环输入10位同学的信息,并以字典的形式保存。然后使用循环输出保存的同学信息,并提供交互式访问同学信息的功能。用户可输入要查询的同学序号,程序会将对应的同学信息打印输出。用户输入`q`时退出程序。
### 回答3:
```python
students = {} # 创建空字典保存同学信息
for i in range(10):
student = {} # 创建空字典保存每位同学的信息
student['学号'] = input('请输入第{}位同学的学号:'.format(i+1))
student['姓名'] = input('请输入第{}位同学的姓名:'.format(i+1))
student['性别'] = input('请输入第{}位同学的性别:'.format(i+1))
student['年龄'] = input('请输入第{}位同学的年龄:'.format(i+1))
student['专业'] = input('请输入第{}位同学的专业:'.format(i+1))
students[i+1] = student # 将每位同学的信息添加到字典中
while True:
search_id = int(input('请输入要查询的同学的编号(输入0退出):'))
if search_id == 0:
break
elif search_id in students:
print('学号:', students[search_id]['学号'])
print('姓名:', students[search_id]['姓名'])
print('性别:', students[search_id]['性别'])
print('年龄:', students[search_id]['年龄'])
print('专业:', students[search_id]['专业'])
else:
print('没有找到该同学的信息,请重新输入正确的编号!')
```
这个程序使用了两个字典:students和student。students字典用于保存所有同学的信息,key为同学的编号,value为一个包含学生信息的字典。student字典用于临时保存每位同学的信息,每输入完一位同学的信息,就将student字典添加到students字典中。
程序主体使用while循环实现交互。用户可以输入要查询同学的编号,如果输入0则退出循环。如果输入的编号存在于students字典中,则打印该同学的所有信息。如果不存在,则提示用户重新输入。
这个程序能够方便地保存和访问任意同学的信息,且在输入信息时提供了友好的交互界面。
阅读全文