Как мне избавиться от дополнительного значения, которое добавляется в другой список
Кажется, я не могу понять, почему в функции order_cost() есть дополнительные три, когда пользователь хочет, чтобы его заказ был доставкой. Когда я вызываю эту функцию, дополнительные три влияют на общую стоимость заказа и отображают ее как $23.00 вместо $20.00, что является правильной стоимостью для этого заказа. Может кто-нибудь помочь мне найти корень этой проблемы, пожалуйста, спасибо.
DELIVERY_CHARGE = ['Delivery', 3.00] customer_order_list = [["Meat lovers", 8.50],["Hawaiian", 8.50]] delivery = input("Would like your order to be a delivery?, Please enter yes or no ") def order_cost(): if delivery == "yes": customer_order_list.append(DELIVERY_CHARGE) customer_order_cost = [price[1] for price in customer_order_list] print(customer_order_cost) total_cost = sum(customer_order_cost) else: customer_order_cost = [price[1] for price in customer_order_list] print(customer_order_cost) total_cost = sum(customer_order_cost) return total_cost order_cost()
Что я уже пробовал:
Поскольку я не мог понять, что вызвало эту проблему, я просто решил вычесть 3 из общей стоимости заказа, если клиент хотел получить заказ на доставку, чтобы убедиться, что дополнительные три не влияют на фактическую истинную общую стоимость заказа и чтобы она была точной, в результате чего общая стоимость составит $20,00 вместо $23,00.
DELIVERY_CHARGE = ['Delivery', 3.00] customer_order_list = [["Meat lovers", 8.50],["Hawaiian", 8.50]] delivery = input("Would like your order to be a delivery?, Please enter yes or no ") def order_cost(): if delivery == "yes": customer_order_list.append(DELIVERY_CHARGE) customer_order_cost = [price[1] for price in customer_order_list] print(customer_order_cost) total_cost = sum(customer_order_cost) - 3 else: customer_order_cost = [price[1] for price in customer_order_list] print(customer_order_cost) total_cost = sum(customer_order_cost) return total_cost order_cost()