@@ -59,38 +59,35 @@ def proth(number: int) -> int:
5959 return proth_list [number - 1 ]
6060
6161
62- def isprothnumber (number : int ) -> bool :
62+ def is_proth_number (number : int ) -> bool :
6363 """
64- :param number: nth number to calculate in the sequence
65- :return: true if number is a Proth number, false etherwise
66- >>> isprothnumber (5)
64+ :param number: positive integer number
65+ :return: true if number is a Proth number, false otherwise
66+ >>> is_proth_number (5)
6767 True
68- >>> isprothnumber (34)
68+ >>> is_proth_number (34)
6969 False
70- >>> isprothnumber (-1)
70+ >>> is_proth_number (-1)
7171 Traceback (most recent call last):
7272 ...
7373 ValueError: Input value of [number=-1] must be > 0
74- >>> isprothnumber (6.0)
74+ >>> is_proth_number (6.0)
7575 Traceback (most recent call last):
7676 ...
7777 TypeError: Input value of [number=6.0] must be an integer
7878 """
7979 if not isinstance (number , int ):
80- msg = f"Input value of [number={ number } ] must be an integer"
81- raise TypeError (msg )
80+ raise TypeError (f"Input value of [number={ number } ] must be an integer" )
8281
83- if number < 1 :
84- msg = f"Input value of [number={ number } ] must be > 0"
85- raise ValueError (msg )
82+ if number <= 0 :
83+ raise ValueError (f"Input value of [number={ number } ] must be > 0" )
8684
87- num = number
88- num -= 1
85+ number -= 1
8986 n = 0
90- while num % 2 == 0 :
91- num = num // 2
87+ while number % 2 == 0 :
88+ number //= 2
9289 n += 1
93- return num < ( 2 ** n )
90+ return number < 2 ** n
9491
9592
9693if __name__ == "__main__" :
@@ -108,10 +105,8 @@ def isprothnumber(number: int) -> bool:
108105
109106 print (f"The { number } th Proth number: { value } " )
110107
111- listexe = [3 , 5 , 9 , 13 , 49 , 57 , 193 , 241 , 163 , 201 ]
112-
113- for number in listexe :
114- if isprothnumber (number ):
108+ for number in [3 , 5 , 9 , 13 , 49 , 57 , 193 , 241 , 163 , 201 ]:
109+ if is_proth_number (number ):
115110 print (f"{ number } is a Proth number" )
116111 else :
117112 print (f"{ number } is not a Proth number" )
0 commit comments