На самом деле, вы можете иметь несколько операторов if в одной строке. Например твой код
string = input()
if string.isnumeric: pass
else: if string == 'tesr': print('test') else: print('stop')
Можно записать как один лайнер.
if not string.isnumeric(): print('test') if (string == 'tesr') else print('stop')
или, если вы предпочитаете
None if string.isnumeric() else print('test') if (string == 'tesr') else print('stop')
Однако я согласен с @timgeb в комментариях - важна читабельность!
EDIT
После того, как вы изменили свой вопрос с «Почему я не могу написать следующий код в виде одной строки» на «Я хочу максимально сжать свой код. Почему в Python не разрешено следующее?» ... Хорошо, потому что отступы важны для python, так что, как вы думаете, будет делать следующий код:
if x == 1: print(1) if x == 3: print(2) else: print(3)
? Можно подумать, что этот код либо представляет
if x == 1: print(1)
if x == 3: print(2)
else: print(3)
или
if x == 1:
print(1)
if x == 3: print(2)
else: print(3)
Так что вы ожидаете? Это был бы хаос, потому что никто больше не знал бы, как что-то анализируется.