我实际上已经完成了这个练习(几乎),但我只是被困在__str__
一个物体内部的一个小问题上。如果我这样做
elif choice == "9":
try:
for i in sworm:
print(i)
except TypeError:
None`
然后它只会打印出我列表中第一个对象的详细信息(那里只有 2 个对象),例如 - sworm = [crit,crit1]
当我尝试这个
elif choice == "9":
try:
print(sworm)
except TypeError:
None
然后我得到: -
[<__main__.Critter object at 0x02B54AD0>, <__main__.Critter object at 0x02B5B190>]
这是我的对象的前半部分
class Critter(object):
"""A virtual pet"""
def __init__(self, name, hunger = random.randint(1,50), boredom = random.randint(1,50)):
self.name = name
self.hunger = hunger
self.boredom = boredom
def __pass_time(self):
self.hunger += 1
self.boredom += 1
def __str__(self):
print ("Critter object\n")
print (self.name)
print (self.hunger)
print (self.boredom)
提前致谢。