Я думаю, что ваша проблема не в том, что вы не можете вставить if
в except
. Код, который вы дали, должен работать очень хорошо. Тем не менее, он не будет делать то, что вы думаете, что он делает. Я подозреваю, что ваш код содержит что-то вроде:
t = input('>>>')
В этом случае t
всегда будет строкой. Но если вы скажете
if t == float:
print(">>> you should give a int number (you given float) <<<\n")
elif t == str:
print(">>> you should give a int number (you given str) <<<\n")
, это ничего не напечатает. Почему? t
не равно строке, это объект строкового типа. Поэтому вместо этого проверьте:
if isinstance(t, float):
print(">>> you should give a int number (you given float) <<<\n")
elif isinstance(t, str):
print(">>> you should give a int number (you given str) <<<\n")