В чем ошибка при решении?



@sailor_r

Мое решение:
s = input().split()
s = [int(x) for x in s]
sum = s[0] + s[1] + s[2]
if sum >= 1500:
    print(sum - 300)
elif sum >= 1000:
    print(sum - 200)
elif sum >= 500:
    print(sum - 100)
else:
    print(sum)


Решения вопроса 0


Ответы на вопрос 2



@SoreMix

upd:

окей, дочитал вопрос полностью, нужно комбинировать покупки. Решил так, может не оч красиво конечно

prices = input().split()
prices = [int(x) for x in prices]
 
total_price = 0
cheap_prices = 0
 
for price in prices:
 
    if price >= 500:
        total_price += price - 100
 
    else:
        cheap_prices += price
 
if cheap_prices >= 500:
    total_price += cheap_prices-100
else:
    total_price += cheap_prices
 
print(total_price)

Что код вообще делает — пробегаем циклом по всем ценам. Если цена >= 500 — добавляем в финальную стоимость цену товара — 100 скидки, т.к. комбинировать такой товар нет смысла, он уже получил скидку.
Если цена товара меньше 500 — заносим в отдельную сумму cheap_prices. Если по итогу cheap_prices получился больше или равно 500 — вычитаем из cheap_prices 100, получив скидку и добавляем к цене финальной. Если нет — добавляем к финальной цене cheap_prices



@Andy_U

Читайте внимательно условие задачи. Там макс. скидка с чека $100, если сумма >= $500, а не $100 с каждых $500. Т.е. не всегда все заказы нужно комбинировать в один.

Поскольку книжек всего 3, то вариантов не много, всего 5, комбинаторикой можно не озабочиваться.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *