@@ -59,38 +59,35 @@ def proth(number: int) -> int:
59
59
return proth_list [number - 1 ]
60
60
61
61
62
- def isprothnumber (number : int ) -> bool :
62
+ def is_proth_number (number : int ) -> bool :
63
63
"""
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)
67
67
True
68
- >>> isprothnumber (34)
68
+ >>> is_proth_number (34)
69
69
False
70
- >>> isprothnumber (-1)
70
+ >>> is_proth_number (-1)
71
71
Traceback (most recent call last):
72
72
...
73
73
ValueError: Input value of [number=-1] must be > 0
74
- >>> isprothnumber (6.0)
74
+ >>> is_proth_number (6.0)
75
75
Traceback (most recent call last):
76
76
...
77
77
TypeError: Input value of [number=6.0] must be an integer
78
78
"""
79
79
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" )
82
81
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" )
86
84
87
- num = number
88
- num -= 1
85
+ number -= 1
89
86
n = 0
90
- while num % 2 == 0 :
91
- num = num // 2
87
+ while number % 2 == 0 :
88
+ number //= 2
92
89
n += 1
93
- return num < ( 2 ** n )
90
+ return number < 2 ** n
94
91
95
92
96
93
if __name__ == "__main__" :
@@ -108,10 +105,8 @@ def isprothnumber(number: int) -> bool:
108
105
109
106
print (f"The { number } th Proth number: { value } " )
110
107
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 ):
115
110
print (f"{ number } is a Proth number" )
116
111
else :
117
112
print (f"{ number } is not a Proth number" )
0 commit comments