Форум сайта python.su
def digits(n):
i = 0
while n > 0:
n = n//10
i += 1
return i
num = abs(int(input('Введите число: ‘)))
print(’Количество разрядов:', digits(num))
Офлайн
Дело в том, что вы ввели код без форматирования, а в python форматирование необходимо. Попытался догадаться, как код выглядел изначально, получилось примерно следующее:
# создана функция digits с входным параметром n def digits(n): # создана переменная i, ей присвоено значение 0 i = 0 # # Начинаем цикл while, который будет работать пока n будет больше 0 while n > 0: # Делим n на 10. Применяется деление с округлением вниз (двойной слэш). # В результате этого, если, например, при обычном делении получилась бы десятичная дробь # в диапазоне от 0 до 1 - при данном виде деления получится 0. n = n//10 # К переменной i прибавляем 1 i += 1 # # Прекращаем работу функции digits, возвращаем из нее переменную i return i # # Приглашаем пользователя ввести число, заносим его в переменную num num = abs(int(input('Введите число: ‘))) # # Значение переменной num передаем в функцию digits() # и печатаем возвращаемое ею значение print(’Количество разрядов:', digits(num))
Отредактировано driveman (Апрель 17, 2018 14:39:11)
Офлайн