code: 
  
  
  import math
  from timeit import timeit
  
  
  
  
  
  
  
  def  _lowerCamelCase(			lowercase__			)		->			int:
  
  		'''simple docstring'''
  
  
  
  
  
  
  
  		__lowercase=    0
  		__lowercase=    abs(lowerCamelCase__			)
  		while True:
  				__lowercase=    n // 1_0
  				digits += 1
  				if n == 0:
  						break
  		return digits
  
  
  
  
  
  
  
  def  _lowerCamelCase(			lowercase__			)		->			int:
  
  		'''simple docstring'''
  
  
  
  
  
  
  
  		return 1 if n == 0 else math.floor(math.log(abs(lowerCamelCase__			)     ,				1_0			) + 1			)
  
  
  
  
  
  
  
  def  _lowerCamelCase(			lowercase__			)		->			int:
  
  		'''simple docstring'''
  
  
  
  
  
  
  
  		return len(str(abs(lowerCamelCase__			)			)			)
  
  
  
  
  
  
  
  def  _lowerCamelCase(			)		->			None:
  
  		'''simple docstring'''
  
  
  
  
  
  
  
  		from collections.abc import Callable
  
  		def benchmark_a_function(lowercase__     ,				lowercase__			) -> None:
  				__lowercase=    F'{func.__name__}({value})'
  				__lowercase=    timeit(F'__main__.{call}'     ,				setup='import __main__'			)
  				print(F'{call}: {func(lowerCamelCase__			)} -- {timing} seconds'			)
  
  		for value in (2_6_2_1_4_4, 1_1_2_5_8_9_9_9_0_6_8_4_2_6_2_4, 1_2_6_7_6_5_0_6_0_0_2_2_8_2_2_9_4_0_1_4_9_6_7_0_3_2_0_5_3_7_6):
  				for func in (num_digits, num_digits_fast, num_digits_faster):
  						benchmark_a_function(lowerCamelCase__     ,				lowerCamelCase__			)
  				print()
  
  
  if __name__ == "__main__":
  	import doctest
  
  	doctest.testmod()
  	benchmark()
  
  
  
  
  
  
  
style_context: 
  
  
  def  _lowerCamelCase(			lowercase__			)		->			str:
  
  		'''simple docstring'''
  
  
  
  
  
  
  
  		return " ".join([word[::-1] for word in input_str.split()]			)
  
  
  if __name__ == "__main__":
  	import doctest
  
  	doctest.testmod()
  
  
  
  
  
  
  