В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
katesmile7
katesmile7
24.10.2021 08:50 •  Информатика

найти ошибку sum = int(input("Введите сумму покупки:"))

first_sale = 0.03

second_sale = 0.05

if sum >= 500:

final_sum = sum * first_sale

elif sum >= 1000:

final_sum = sum * second_sale

else:

print("Финальная сумма равна: " + final_sum)

Показать ответ
Ответ:
BorzikovaLiza5
BorzikovaLiza5
17.03.2021 18:52

Ошибок тут достаточно, по всем пройдемся.

Первая ошибка, переменная названа как встроенная функция в 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("Введены неверные данные")

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота