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

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

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