Wypisanie zmiennych z tablicy

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?

Kopiuj
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:

Kopiuj
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()
MichalTHEDUDE
  • Rejestracja:około 8 lat
  • Ostatnio:około 7 lat
  • Postów:60
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:

Kopiuj
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()
edytowany 1x, ostatnio: MichalTHEDUDE
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ą.

MichalTHEDUDE
Właśnie się zastanawiałem nad Twoją wcześniejszą odpowiedzią i nie bardzo kumałem po co iterować jak można od razu zwrócić :P. w Pythonie to ['sugar', 'milk'] jest listą :). PS. wiem coś o tym PHPie ;)
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.

MichalTHEDUDE
Ciesze się, że mogłem pomóc :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.