Zasadniczo próbuję zrobić to menu dla projektu i muszę sprawić, by pętla. Posiadam trudności, próbując wziąć wprowadzenie do listy w pętli. Chcę, aby program dodał suma każdego zamówienia, który zostanie wykonany i umieścić je na liście. Wtedy chce, aby program dodał tę listę i dał mi ostateczny całkowity koszt zamówienia. Jak zrobiłbym, aby mógł użyć listy w pętli bez usunięcia, co wcześniej było tam wprowadzone. Na przykład, jeśli zamawiam piasek z kurczaka, po raz pierwszy w pętli, a następnie zamówić tylko ponownie po raz drugi, a następnie zrezygnować z pętli, zamiast pokazać mi cenę 10.50 Dostaję tylko całkowitą cenę 5,25. Dzięki za pomoc!

choice = (input("How many people are you ordering for? To quit the program simply type quit."))

while choice != 'quit':

  if Beverage == "yes" and Fries == "yes":
    Total_Cost = CostSandwich + CostBeverage + CostFries - 1 + KetchupNumber
  elif Beverage == "no" and Fries == "no":
    Total_Cost = CostSandwich + CostBeverage + CostFries + KetchupNumber
  elif Beverage == "yes" and Fries == "no":
    Total_Cost = CostSandwich + CostBeverage + CostFries + KetchupNumber
  elif Beverage == "no" and Fries == "yes":
    Total_Cost = CostSandwich + CostBeverage + CostFries + KetchupNumber
  

  print("Your total cost is", Total_Cost)
  print("You ordered a", SandwichType, "Sandwich,", BeverageType, "Beverage,", FriesType, "Fries,", "and", KetchupType, "Ketchup Packets." )

  finalcost = [0]
  finalcost.append(Total_Cost)

  totaloffinalcost = sum(finalcost)

  choice = (input("If you would like to quit then type quit or type anything to continue"))

print("The final cost is", totaloffinalcost)
-1
PythonProgrammer 20 listopad 2020, 23:41

1 odpowiedź

Najlepsza odpowiedź

Oprócz faktu, że wiele można zrobić, aby poprawić i sprawić, że odpowiedź na zapytanie:

OP: Na przykład, jeśli zamówię piasek z kurczaka, po raz pierwszy w pętli, a następnie zamówić tylko ponownie po raz drugi, a następnie zrezygnować z pętli, zamiast pokazać mi cenę 10.50 Dostaję tylko całkowitą cenę 5.25.

Tak się dzieje, ponieważ na każdej iteracji wewnątrz pętli, tuż przed podjęciem sumy, inicjując listę:

finalcost = [0]

Weź to na zewnątrz Loop:

finalcost = [0]
while choice != 'quit':
    # rest of the code
3
DirtyBit 20 listopad 2020, 20:48