Вопрос задан 25.06.2023 в 21:03. Предмет Информатика. Спрашивает Сайфуллина Владена.

Помогите найти ошибку 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)
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Белугин Семён.

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

Первая ошибка, переменная названа как встроенная функция в 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
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Код, который вы предоставили, имеет несколько ошибок. Вот исправленная версия:

python
sum = 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)

Исправления:

  1. Заменил &gt; на >=, чтобы корректно сравнивать сумму покупки.
  2. Изменил расчет final_sum так, чтобы учитывать скидку как вычитание процента суммы от исходной суммы.
  3. Убрал кавычки вокруг final_sum в строке print, чтобы избежать ошибки.
0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос