我定义了一个具有名称和年龄属性的python类。我正在尝试打印此类中对象的最早和最长名称。 最旧的可以正常工作,但是要找到最长的名称,我不能将len()和max()一起使用,因为len()接受的参数不止一个。我必须先将名称长度定义为属性,然后再定义最大值。我的代码副本如下。我感谢您的帮助 :)
class NewClass:
def __init__(self, name, age):
self.name = name
self.age = age
self.length = len(name)
def Oldest(*args):
return max(args)
# def Longets(*args): this doesn't work since len takes one argument only
# return max(len(args))
def Longest(*args):
return max(args)
person1 = NewClass('Cindy', 24)
person2 = NewClass('Amy', 28)
person3 = NewClass('fifififi', 27)
print(f'The oldest person is {Oldest(person1.age,person2.age,person3.age)} years old')
print(f'longest name has {Longest(person1.length,person2.length,person3.length)} character')
您可以使用列表理解: