编写一个Python程序,任务说明: 定义用户类,要求输入的姓名和年龄,并将输入的姓名和年龄与已经存在的用户列表中的对象信息进行核对。如果已存在该姓名,则用新的年龄修改原数据。如果没有,就添加该信息作为新的用户对象信息 解题思路提示: 1)定义一个用户类User l用户类的构造函数中有两个类属性,用户姓名和年龄。 l用户类中的方法实现的功能是输出用户姓名和年龄信息 2)利用类的实例化,创建用户列表(列表中的每个元素,就是一个用户对象),初始用户两个:user ('mike',54),user('jake',23) 3)输入用户的姓名和年龄信息,利用循环判断输入的用户信息是否和列表中的初始用户的姓名相同。如果不相同,就添加输入的用户信息到用户列表中,如果相同就修改该用户的年龄。 4)输出修改或添加后的新的用户列表的信息 5)提示用户是否继续(y/n),输入N或n就退出,否者继续执行该程序 已有的对象信息为('mike',54),user('jake',23)
时间: 2024-02-18 21:03:54 浏览: 173
好的,以下是Python程序的实现:
```python
class User:
def __init__(self, name, age):
self.name = name
self.age = age
def info(self):
print("Name:", self.name)
print("Age:", self.age)
users = [User('mike', 54), User('jake', 23)]
while True:
name = input("Enter user name: ")
age = int(input("Enter user age: "))
found = False
for user in users:
if user.name == name:
user.age = age
found = True
break
if not found:
users.append(User(name, age))
print("Current user list:")
for user in users:
user.info()
choice = input("Continue? (y/n)")
if choice.lower() == 'n':
break
```
这个程序首先定义了一个用户类 `User`,其中包含构造函数和 `info` 方法。构造函数中存储了用户的姓名和年龄,`info` 方法用于输出用户信息。
然后,程序创建了一个用户列表 `users`,包含已有的两个用户信息。
接下来,程序进入一个循环,不断询问用户输入新的姓名和年龄。程序会遍历用户列表,查找是否已经存在这个姓名的用户,如果存在,则修改该用户的年龄;如果不存在,则添加该用户到用户列表中。然后,程序输出当前用户列表的信息,并提示用户是否继续输入。
当用户输入 `n` 或 `N` 时,程序退出循环并结束。
阅读全文