Wypisanie zmiennych z tablicy

0

Cześć. Ćwiczę obiektówkę w pythonie i natrafiłem na coś czego nie rozumiem i nie mogę znaleźć rozwiązania. Mianowicie, dlaczego jak przekazuję do jednej klasy tablicę z dwoma parametrami, traktuję ją funkcją for, tak aby wyciągnąć z tablicy wszystkie wartości i przekazać te wartości do innej klasy celem wyświetlenia to wyświetla się tylko ostatni parametr?

class Machine:
    def __init__(self, name, param):
        self.param = param
        self.name = name
    def makeBeveragr(self):
            print(self.param)

class Cofee:
    def __init__(self, component = []):
        for c in component:
            self.compoment = c           

class Tea:
    def __init__(self, component = []):
        for c in component:
            self.component = c

def main():
    beverage = Cofee(['sugar', 'milk'])
    mach = Machine('Machine',beverage.__dict__)
    mach.makeBeveragr()

main()
0

Problem rozwiązany:

class Machine:
    def __init__(self, name, param):
        self.param = param
        self.name = name
    def makeBeveragr(self):
            print(self.param)

class Cofee:
    def __init__(self, component = []):
        self.component = component

    def coff(self):
        for c in self.component:
            self.compoment = c  
            return self.coff()           

class Tea:
    def __init__(self, component = []):
        self.component = component
    def tea(self):
        for c in self.component:
            self.component = c
            return self.tea()

def main():
    beverage = Cofee(['sugar', 'milk'])
    mach = Machine('Machine',beverage.__dict__)
    mach.makeBeveragr()

main()
0

Cześć,
Mam małe pytanko. Czemu chcesz wyciągać wszystkie wartości z listy pętlą for? Czy mógłbyś mi wyjaśnić o co chodzi w tym zadaniu?
Czy nie prościej będzie tak:

class Machine:
    def __init__(self, name, param):
        self.param = param
        self.name = name

    def makeBeveragr(self):
        print self.param

class Cofee:
    def __init__(self, component):
        self.component = component

if __name__ == '__main__':
    beverage = Cofee(['sugar', 'milk'])
    mach = Machine('Machine',beverage.component)
    mach.makeBeveragr()
0

Zależy mi na przeniesieniu już przeiterowanej tablicy (samych elementów) nie tej tablicy.

0

Ale faktycznie, Twój sposób jest o niebo lepszy. Pozostałości z phpa pozostają.

0

Chciałem przeiterować, żeby zwrócić te elementy jako wartość z tablicy, nie samą tablicę, teraz wiem że to był błąd, dałeś mi niezłą lekcję. Dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0