要解决这个问题,可以使用以下代码示例:
class Pet:
def __init__(self, name, rarity):
self.name = name
self.rarity = rarity
def __str__(self):
return f"Pet: {self.name}, Rarity: {self.rarity}"
def choose_pet(pets):
if not pets:
return None
max_rarity = pets[0].rarity
max_rarity_pets = [pets[0]]
for pet in pets[1:]:
if pet.rarity > max_rarity:
max_rarity = pet.rarity
max_rarity_pets = [pet]
elif pet.rarity == max_rarity:
max_rarity_pets.append(pet)
return max_rarity_pets
# 示例用法
pets = [
Pet("狗", 1),
Pet("猫", 3),
Pet("鸟", 2),
Pet("兔子", 3),
Pet("鱼", 1)
]
chosen_pets = choose_pet(pets)
for pet in chosen_pets:
print(pet)
这个示例中,我们定义了一个Pet
类来表示宠物,包含了宠物的名字和稀有度属性。然后,我们定义了一个choose_pet
函数,该函数接收一个宠物列表作为输入,返回一个包含最稀有宠物的列表。如果输入的列表为空,函数将返回None
。
在choose_pet
函数中,我们首先将第一个宠物的稀有度设置为当前的最大稀有度,并将其添加到最稀有宠物列表中。然后,我们遍历列表中的其他宠物,如果找到更稀有的宠物,我们更新最大稀有度和最稀有宠物列表。如果找到与最大稀有度相等的宠物,我们也将其添加到最稀有宠物列表中。
最后,我们使用示例宠物列表调用choose_pet
函数,并遍历返回的最稀有宠物列表,打印每个宠物的信息。
下一篇:不要锁定bashshell