0

私は実際にこの演習を (ほぼ) 終了しました__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)

前もって感謝します。

4

4 に答える 4