n=input()
u=0
if str(int(n))==n:
u+=1
if int(n)<0:
u+=1
print(len(n)-u)
Почему -1 или -2?
Потому что если число это десятичная дробь, то там 1 знак будет точкой
Как проверить целое число или нет?
n - имеет тип str
int(n) - переводит n в число И ОКРУГЛЯЕТ ЕГО ВНИЗ
так что если у нас n="3.1415"
то int(n)=3
а при проверке str(int(n))==n, будет так:
"3"=="3.1415", то-есть False
Значит в n есть точка, которую нужно вычесть, при подсчёте кол-во цифр
ПРОШУ ЗАМЕЧАТЬ ТАКИЕ МОМЕНТЫ, ЭТО ВАЖНО!