Всякий раз, когда вы говорите Cola()
, вы создаете новый объект класса Cola. Вам необходимо сохранить элемент в переменной. Кроме того, вы также можете превратить созданные вами функции в методы:
class Cola:
def __init__(self):
self.cola = []
def add_list(self, element):
self.cola.append(element)
def numElements(self):
return len(self.cola)
def list_entry():
membership= input(" Membership card? (y/n): ")
name= input(" Name: ")
lastname= (input(" Lastname: "))
return (membership, name, lastname)
cola_item = Cola()
n = int(input("Choose an option\n 1.Add to waiting list\n 2.Show waiting customers\n 3.Close for today\n Option: "))
while n<5:
if n==1:
cola_item.add_list(list_entry())
n = int(input("Choose an option\n 1.Add to waiting list\n 2.Show waiting customers\n 3.Close for today\n Option: "))
elif n==2:
waiting= cola_item.numElements()
print(waiting)
n = int(input("Choose an option\n 1.Add to waiting list\n 2.Show waiting customers\n 3.Close for today\n Option: "))
elif n==3:
print("See you")
n=5
(я предположил, что ваша система счисления была 1, 2 или 3) Надеюсь, это поможет.
Также для ответьте на ваш дополнительный вопрос, если вы делаете это так, как я предлагаю, то вы, по сути, делаете именно это, за исключением того, что вы создаете список кортежей. Если вы поместите:
for item in cola_item.cola:
print(item)
внутри блока elif n==2
, вы сможете увидеть, что он печатает. Если вам явно нужен список списков, вы можете изменить return (membership, name, lastname)
на return [membership, name, lastname]
В этом разница между списком и кортежем