class animal()。
def__init__(self, name, species, legs):
self.name = name
self.breed = species
self.leg = legs
def__eq__(self, other):
return self.breed == other.species and self.name == other.name
def__repr__(self):
return f"{self.name}: {self.speies}: {self.leg}"
def leg_count(animals, multiple)。
回傳。
上面的類,如何回傳一個腿數大于4的名字的串列呢?
group1 = animal("Adam","dog",4)
gruop2 = animal("Besty","cat", 4)
group3 = animal("Alex","鳥", 2)
動物 = [組1, 組2, 組3]
leg_count(animals, 4)
還有就是用一行就可以了嗎?
uj5u.com熱心網友回復:
class animal。
def __init__(self, name, species, legs)。
self.name = name
self.breed = species
self.leg = legs
def __eq__(self, other):
return self.breed == other.species and self.name == other.name
def __repr__(self):
return f"{self.name}。{self.breed}: {self.leg}"
def leg_count(animals, multiple)。
result = [item.name for item in animals if item.leg >= multiple ]
return result
上面的類回傳動物物件,leg_count函式回傳一個串列,該串列包含物件.名稱,其中有大于或等于你指定的多條腿的數量。 例如:
group1 = animal("Adam", "dog", 4)
group2 = animal("Besty", "cat", 4)
group3 = animal("Alex", "鳥", 2)
動物 = [組1, 組2, 組3]
print(leg_count(anals, 4))
輸出是:
['Adam', 'Besty']
uj5u.com熱心網友回復:
使用串列理解法簡要回答你的問題,請考慮以下解決方案:
def leg_count(animals, multiple)。
return [a.name for a in animal if a.leg > multiple]
除此之外,你的__eq__和__repr__方法中似乎有一個問題,即沒有species屬性,我想你是想訪問breed屬性。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/309285.html
標籤:
上一篇:嵌套函式中缺失的引數
