
Помогите найти ошибку sum = int(input("Введите сумму покупки:"))first_sale = 0.03second_sale =
0.05if sum >= 500: final_sum = sum * first_saleelif sum >= 1000: final_sum = sum * second_saleelse: print("Финальная сумма равна: " + final_sum)

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

Ошибок тут достаточно, по всем пройдемся.
Первая ошибка, переменная названа как встроенная функция в Python, так делать не нужно.
Вторая ошибка, забыл ограничить if, из-за которого не будет выполняться elif. Меняем его на:
if (sum>=500) and (sum<1000)
Третья ошибка, расчет финальной цены неверный, если использовать вариант, который дан сейчас, то мы найдем процент от этой суммы, а не сумму с начисленными процентами. Меняем на:
final_sum = sums * (1+first_sale)
final_sum = sums * (1+second_sale)
Четвертая ошибка, почему у нас вывод финальной суммы через else? Получается, что если выполняются условия выше, то не выводится сумма. Этот вывод мы можем опустить ниже, а в else написать, что ввели неверные данные (если конечно подразумевается, что пользователь не должен вводить число меньшее 500), либо в elif засунуть эту строку, полной задачи у меня нет, поэтому сам с этим разберешься.
Пятая ошибка, мы не можем сложить строку с числом, нам нужно преобразовать нашу переменную к строке с помощью str().
Исправленный код:
sums = int(input("Введите сумму покупки:"))
first_sale = 0.03
second_sale = 0.05
if sums >= 500 and sums < 1000:
final_sum = sums * (1+first_sale)
print("Финальная сумма равна: " + str(final_sum))
elif sums >= 1000:
final_sum = sums * (1+second_sale)
print("Финальная сумма равна: " + str(final_sum))
else:
print("Введены неверные данные")



Код, который вы предоставили, имеет несколько ошибок. Вот исправленная версия:
pythonsum = int(input("Введите сумму покупки:"))
first_sale = 0.03
second_sale = 0.05
if sum >= 1000:
final_sum = sum * (1 - second_sale)
elif sum >= 500:
final_sum = sum * (1 - first_sale)
else:
final_sum = sum
print("Финальная сумма равна:", final_sum)
Исправления:
- Заменил
>
на>=
, чтобы корректно сравнивать сумму покупки. - Изменил расчет
final_sum
так, чтобы учитывать скидку как вычитание процента суммы от исходной суммы. - Убрал кавычки вокруг
final_sum
в строкеprint
, чтобы избежать ошибки.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili