我需要创建一个程序,通过控制台输入我的数据,并填写一组用户。
有一个用户类User
str name
str surname
int age
以及所有参数的构造函数。
在主类,也就是主体部分,应该有一个用户列表,最大5人。我的程序是通过控制台提示用户输入这5个用户。
但是,如果我在输入年龄时输入了不正确的数据(不是整数),程序应该会自动在年龄字段中输入数字 0 并将对象添加到列表中。
在输入结束时,程序应该输出列表中的平均年龄。
这是我的代码:
class User:
name = ""
surname = ""
age = 0
def __init__(self, name, surname, age):
self.name = name
self.surname = surname
self.age = age
def result(self):
count = 0
sum_age = 0
self.average = 0
for i in users:
sum_age += i.age
count += 1
self.average = sum_age / count
print(self.average)
print('Input 5 users:')
u1 = User(input('Name: '), input('Surname: '), input('Age: '))
u2 = User(input('Name: '), input('Surname: '), input('Age: '))
u3 = User(input('Name: '), input('Surname: '), input('Age: '))
u4 = User(input('Name: '), input('Surname: '), input('Age: '))
u5 = User(input('Name: '), input('Surname: '), input('Age: '))
users = [u1, u2, u3, u4, u5]
for i in users:
try:
except:
for j in users:
j.result()
除了 “但是,如果我在引入年龄的过程中输入了错误的数据(不是整数),那么程序应该自动在年龄字段中输入数字0并添加对象到名单上。”
为什么没有显示我的平均年龄
你有点太聪明了。最好在创建对象时立即检查年龄。计算平均年龄,其实不应该是对象方法
好吧,您可以使数据输入更简单,以免重复代码