2、新建一个软件包p2,在其中新建 python 文件,定义一个的数 infolnput, 通过键盘输入向一个字典中存储个人信息(姓名,班级,学号,性别,性别可默认为“女”),输入三个人的信息,最后输出这个字典
时间: 2024-10-20 10:09:46 浏览: 14
CP2K-Parser:一个用于将CP2K输入文件转换为PLAMS兼容字典的软件包
要在Python中创建一个名为`p2`的软件包并实现所需功能,你需要先在该目录下创建一个名为`person_info.py`的文件。以下是实现这个功能的代码:
```python
# p2/person_info.py
class PersonalInfo:
def __init__(self, name=None, class_name=None, student_id=None, gender="女"):
self.name = name
self.class_name = class_name
self.student_id = student_id
self.gender = gender
@staticmethod
def get_user_input():
"""
获取用户输入并创建PersonalInfo实例
"""
while True:
try:
name = input("请输入姓名(输入'q'退出):")
if name.lower() == 'q':
break
class_name = input("请输入班级名:")
student_id = int(input("请输入学号:"))
return PersonalInfo(name, class_name, student_id)
except ValueError:
print("输入错误,请重新输入!")
@staticmethod
def store_to_dict(persons):
"""
将PersonInfo对象存储到字典中
"""
person_dict = {}
count = 1
while True:
person = persons.get_user_input()
if not person:
break
person_dict[f"user_{count}"] = person
count += 1
return person_dict
@staticmethod
def display_person_dict(person_dict):
"""
输出字典中的个人信息
"""
print("\n个人信息:")
for user, info in person_dict.items():
print(f"{user}:")
print(f"姓名: {info.name}")
print(f"班级: {info.class_name}")
print(f"学号: {info.student_id}")
print(f"性别: {info.gender}\n")
# 测试及入口点
if __name__ == "__main__":
users = PersonalInfo.store_to_dict(PersonalInfo())
PersonalInfo.display_person_dict(users)
```
这个程序定义了一个`PersonalInfo`类,包含获取用户输入和个人信息的静态方法。当运行此脚本时,它将提示用户逐个输入个人信息,直到用户选择退出。最后,它会将输入的三个人的信息存储到字典中并显示出来。
阅读全文