Задача Python "Чек"
Решаю задачу в ЯКонтест. В PyCharm выводит все верно, но при этом в ЯКонтест выдает следующую ошибку -
stdout:
/bin/sh ./build.sh 1>&2
stderr:
solution.py:5:20: E226 missing whitespace around arithmetic operator
Код не соответствует стандарту PEP8
или в нем есть синтаксические ошибки
make: *** [Makefile:2: build] Error 1
Вот мой код -
tovar = str(input())
price = int(input())
weight = int(input())
money = int(input())
price_tovar = price*weight
sdacha = money - price_tovar
print('Чек')
print(tovar, ' - ', weight, 'кг', ' - ', price, 'руб/кг', sep='')
print('Итого: ', price_tovar, 'руб', sep='')
print('Внесено: ', money, 'руб', sep='')
print('Сдача: ', sdacha, 'руб', sep='')
Подскажите, что делаю не так? В PyCharm выводится все верно.
Ответы (2 шт):
Выполнил форматирование кода при помощи модуля black и получилось так:
tovar = str(input())
price = int(input())
weight = int(input())
money = int(input())
price_tovar = price * weight
sdacha = money - price_tovar
print("Чек")
print(tovar, " - ", weight, "кг", " - ", price, "руб/кг", sep="")
print("Итого: ", price_tovar, "руб", sep="")
print("Внесено: ", money, "руб", sep="")
print("Сдача: ", sdacha, "руб", sep="")
Думаю, что проблема была в 5 строке – необходимо было указать пробелы слева и справа от *
.
solution.py:5:20: E226 missing whitespace around arithmetic operator
Код не соответствует стандарту PEP8 или в нем есть синтаксические ошибки
Строка 5 это:
price_tovar = price*weight
20-й символ это *
.
Если буквально перевести английский текст ошибки, то там написано: "не хватает пробелов вокруг арифметической операции". Это не ошибка, а просто не соответствие стандарту PEP8
. Но Яндекс так настроил компиляцию, что это считается ошибкой.
Просто добавьте пробелы вокруг знака умножения:
price_tovar = price * weight
^^^ тут