@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)
  • Вопрос задан
  • 199 просмотров
Пригласить эксперта
Ответы на вопрос 2
SoreMix
@SoreMix Куратор тега Python
yellow
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, комбинаторикой можно не озабочиваться.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы