Я думаю, что самый простой способ справиться с этим - проверить, является ли входная строка сначала числовой:
https://www.tutorialspoint.com/python/string_isnumeric.htm
if input.isnumeric():
print int(input)
else:
try
print float(input)
except ValueError:
# Do nothing
Однако, если вы можете полностью избежать исключений, используйте кодбыло бы лучше - обработка исключений может быть довольно дорогой.
Этот ответ на тестирование целого числа объясняет, почему обработка исключений может быть дорогой: https://stackoverflow.com/a/9859202/8358096
Чтобы избежать повторного попадания во второе исключение, выможет использовать функцию isalpha, упомянутую ниже.
if input.isnumeric():
print int(input)
else:
if not input.isalpha():
try
print float(input)
except ValueError:
# Do nothing