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

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

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽