code: 
  
  
  
  
  
  '''simple docstring'''
  
  import math
  from timeit import timeit
  
  
  
  
  
  def lowerCamelCase		(  __lowerCamelCase				:					int					)		->int:
  				_SCREAMING_SNAKE_CASE             =    0
  				_SCREAMING_SNAKE_CASE             =    abs(__lowerCamelCase					)
  				while True:
  								_SCREAMING_SNAKE_CASE             =    n // 10
  								digits += 1
  								if n == 0:
  												break
  				return digits
  
  
  
  
  
  def lowerCamelCase		(  __lowerCamelCase				:					int					)		->int:
  				return 1 if n == 0 else math.floor(math.log(abs(__lowerCamelCase					)      , 10					) + 1					)
  
  
  
  
  
  def lowerCamelCase		(  __lowerCamelCase				:					int					)		->int:
  				return len(str(abs(__lowerCamelCase					)					)					)
  
  
  
  
  
  def lowerCamelCase		(  )		->None:
  				from collections.abc import Callable
  
  				def benchmark_a_function(__lowerCamelCase				:					Callable      , __lowerCamelCase				:					int					) -> None:
  								_SCREAMING_SNAKE_CASE             =    F'{func.__name__}({value})'
  								_SCREAMING_SNAKE_CASE             =    timeit(F'__main__.{call}'      , setup="""import __main__"""					)
  								print(F'{call}: {func(__lowerCamelCase					)} -- {timing} seconds'					)
  
  				for value in (26_2144, 1125_8999_0684_2624, 126_7650_6002_2822_9401_4967_0320_5376):
  								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: 
  
  
  
  
  
  '''simple docstring'''
  
  def lowerCamelCase		(  __lowerCamelCase				:					str					)		->str:
      _SCREAMING_SNAKE_CASE             =    word.upper()
      _SCREAMING_SNAKE_CASE             =    0
      _SCREAMING_SNAKE_CASE             =    {}
      _SCREAMING_SNAKE_CASE             =    []
  
      for letter in word:
          if letter not in letter_nums:
              _SCREAMING_SNAKE_CASE             =    str(__lowerCamelCase					)
              next_num += 1
          word_pattern.append(letter_nums[letter]					)
      return ".".join(__lowerCamelCase					)
  
  
  if __name__ == "__main__":
        import pprint
        import time
  
        lowercase_			       =				time.time()
        with open("""dictionary.txt""") as in_file:
              lowercase_			       =				in_file.read().splitlines()
  
        lowercase_			       =				{}
        for word in word_list:
              lowercase_			       =				get_word_pattern(word)
              if pattern in all_patterns:
                    all_patterns[pattern].append(word)
              else:
                    lowercase_			       =				[word]
  
        with open("""word_patterns.txt""", """w""") as out_file:
              out_file.write(pprint.pformat(all_patterns))
  
        lowercase_			       =				round(time.time() - start_time, 2)
        print(f"""Done!  {len(all_patterns):,} word patterns found in {total_time} seconds.""")
        # Done!  9,581 word patterns found in 0.58 seconds.
  
  
  
  