@KrisTeylor

Как исправить ошибки TypeError и SyntaxError на python?

Есть два варианта кода и две разные ошибки.

Первый вариант:
h, a, b = int(input()), int(input()), int(input())
d = 0
while h > 0:
    h -= a
    d += 1
    print(d) if h < 1 else h += b


Ошибка:

File "D:\Python\30 nov\main.py", line 6
print(d) if h < 1 else h += b
^
SyntaxError: 'conditional expression' is an illegal expression for augmented assignment

Пытался перевести и честно не понял в чём суть.

Но если в тернарном операторе поменять местами выражения то получится второй вариант и другая ошибка:

h, a, b = int(input()), int(input()), int(input())
d = 0
while h > 0:
    h -= a
    d += 1
    h += b if h  h >= 1 else print(d)


Ошибка:
Traceback (most recent call last):
File "D:\Python\30 nov\main.py", line 6, in
h += b if h < 1 else print(d)
TypeError: unsupported operand type(s) for +=: 'int' and 'NoneType'

Как я понял он ругается что оператор += не поддерживается для 'int' и 'NoneType'
Но ведь h и b и были заданы как int, а где в коде NoneType я не понял.
  • Вопрос задан
  • 625 просмотров
Решения вопроса 1
ZIK1337
@ZIK1337
if h < 1:
    print(d)
else:
    h += b
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы