Я создал эту функцию, которая перебирает словари.У меня есть ценовой диктант, с каждой ценой предмета сохраняется.затем словарь заказов клиентов, где хранится каждый заказ на клиента.
для каждого товара в заказе клиента, я умножил товар на цену, например ...
order 1: 10 books * $10.0
вВ конце этой функции, если общая сумма заказа превышает 100 долларов, я дам 10% скидку.5% на сумму свыше 50 долларов США и скидку, если она меньше 50 долларов США.
Теперь по некоторым причинам я не могу изменить синтаксис утверждения ниже. Придерживайтесь там формата и кодов, проблема в том, что яполучить ошибку утверждения.что, как должно быть, окончательный вывод "Готово"
Как я могу избежать перехвата утверждений на этом этапе?
В частности, я получаю ошибку утверждения в порядке1
вот чтоЯ сделал ...
def calculate_price(price, order):
final_list = []
# Iterating through each dictionary key.
for key, order_value in order.items():
# Splitting on whitespace, taking the first result.
first_word = key.split()[0]
# Initiating condition to compare key similarities.
if first_word in price:
# Matching dict keys successful.
price_value = price[first_word]
# Multiplying key-pair values of two matched keys.
individual_price = (order_value*price_value)
final_list.append(individual_price)
new = sum(final_list)
if new >= 101:
order3 = new - (new*0.10)
elif new >= 51:
order1 = new - (new*0.05)
order1 = int(order1)
else:
order2 = new
price = {'book': 10.0, 'magazine': 5.5, 'newspaper': 2.0}
order1 = {'book': 10}
order2 = {'book': 1, 'magazine': 3}
order3 = {'magazine': 5, 'book': 10}
assert(95 == calculate_price(price, order1))
assert(26.5 == calculate_price(price, order2))
assert(114.75 == calculate_price(price, order3))
print("Done")
Ваши предложения и помощь очень ценятся.спасибо