对于我的 python 作业,我必须创建类并初始化它们。我正确创建了它们,但自动评分器说它们未正确初始化。
使用初始化艺术家信息的构造函数和 print_info() 方法定义 Artist 类。默认情况下,构造函数应将艺术家的姓名初始化为“None”,并将出生年份和死亡年份初始化为 0。 print_info() 应显示艺术家姓名,如果死亡年份为 -1,则应显示出生 XXXX,否则应显示艺术家姓名 (XXXX-YYYY) 。
使用构造函数定义 Artwork 类以初始化艺术品的信息和 print_info() 方法。默认情况下,构造函数应将标题初始化为“None”,创建年份为 0,并且艺术家应使用 Artist 默认构造函数参数值。
到目前为止我所拥有的:
class Artist:
def __init__(self, user_artist_name="None", user_birth_year=0, user_death_year=0):
self.name = user_artist_name
self.birth = user_birth_year
self.death = user_death_year
def print_info(self):
if self.death == -1:
print("Artist: {}, born {}".format(self.name, self.birth))
else:
print("Artist: {} ({}-{})".format(self.name, self.birth, self.death))
class Artwork:
def __init__(self, user_title= "None", year_created=0, user_artist=Artist()):
self.title = user_title
self.year = year_created
self.artist = user_artist
def print_info(self):
print("Title: {}, {}".format(self.title, self.year))
if __name__ == "__main__":
user_artist_name = input()
user_birth_year = int(input())
user_death_year = int(input())
user_title = input()
user_year_created = int(input())
user_artist = Artist(user_artist_name, user_birth_year, user_death_year)
user_artist.print_info()
new_artwork = Artwork(user_title, user_year_created, user_artist)
new_artwork.print_info()
Artist('Pablo Picasso', 1881, 1973) 未能正确初始化艺术家。并且 Artist 和 Artwork 的默认参数的构造函数都失败。
我缺少什么?
慕神8447489
慕容708150
翻阅古今