Add more ruff rules (#8767)

* Add more ruff rules

* Add more ruff rules

* pre-commit: Update ruff v0.0.269 -> v0.0.270

* Apply suggestions from code review

* Fix doctest

* Fix doctest (ignore whitespace)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Dhruv Manilawala <dhruvmanila@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
Christian Clauss
2023-05-26 09:34:17 +02:00
committed by GitHub
parent dd3b499bfa
commit 4b79d771cd
67 changed files with 349 additions and 223 deletions

View File

@ -9,9 +9,11 @@ def n31(a: int) -> tuple[list[int], int]:
"""
if not isinstance(a, int):
raise TypeError(f"Must be int, not {type(a).__name__}")
msg = f"Must be int, not {type(a).__name__}"
raise TypeError(msg)
if a < 1:
raise ValueError(f"Given integer must be positive, not {a}")
msg = f"Given integer must be positive, not {a}"
raise ValueError(msg)
path = [a]
while a != 1:

View File

@ -40,7 +40,8 @@ def is_automorphic_number(number: int) -> bool:
TypeError: Input value of [number=5.0] must be an integer
"""
if not isinstance(number, int):
raise TypeError(f"Input value of [number={number}] must be an integer")
msg = f"Input value of [number={number}] must be an integer"
raise TypeError(msg)
if number < 0:
return False
number_square = number * number

View File

@ -31,10 +31,12 @@ def catalan(number: int) -> int:
"""
if not isinstance(number, int):
raise TypeError(f"Input value of [number={number}] must be an integer")
msg = f"Input value of [number={number}] must be an integer"
raise TypeError(msg)
if number < 1:
raise ValueError(f"Input value of [number={number}] must be > 0")
msg = f"Input value of [number={number}] must be > 0"
raise ValueError(msg)
current_number = 1

View File

@ -71,7 +71,7 @@ class Dual:
for i in self.duals:
new_duals.append(i / other)
return Dual(self.real / other, new_duals)
raise ValueError()
raise ValueError
def __floordiv__(self, other):
if not isinstance(other, Dual):
@ -79,7 +79,7 @@ class Dual:
for i in self.duals:
new_duals.append(i // other)
return Dual(self.real // other, new_duals)
raise ValueError()
raise ValueError
def __pow__(self, n):
if n < 0 or isinstance(n, float):

View File

@ -36,7 +36,8 @@ def hexagonal(number: int) -> int:
TypeError: Input value of [number=11.0] must be an integer
"""
if not isinstance(number, int):
raise TypeError(f"Input value of [number={number}] must be an integer")
msg = f"Input value of [number={number}] must be an integer"
raise TypeError(msg)
if number < 1:
raise ValueError("Input must be a positive integer")
return number * (2 * number - 1)

View File

@ -40,9 +40,11 @@ def juggler_sequence(number: int) -> list[int]:
ValueError: Input value of [number=-1] must be a positive integer
"""
if not isinstance(number, int):
raise TypeError(f"Input value of [number={number}] must be an integer")
msg = f"Input value of [number={number}] must be an integer"
raise TypeError(msg)
if number < 1:
raise ValueError(f"Input value of [number={number}] must be a positive integer")
msg = f"Input value of [number={number}] must be a positive integer"
raise ValueError(msg)
sequence = [number]
while number != 1:
if number % 2 == 0:

View File

@ -33,7 +33,8 @@ def liouville_lambda(number: int) -> int:
TypeError: Input value of [number=11.0] must be an integer
"""
if not isinstance(number, int):
raise TypeError(f"Input value of [number={number}] must be an integer")
msg = f"Input value of [number={number}] must be an integer"
raise TypeError(msg)
if number < 1:
raise ValueError("Input must be a positive integer")
return -1 if len(prime_factors(number)) % 2 else 1

View File

@ -15,15 +15,15 @@ def manhattan_distance(point_a: list, point_b: list) -> float:
9.0
>>> manhattan_distance([1,1], None)
Traceback (most recent call last):
...
...
ValueError: Missing an input
>>> manhattan_distance([1,1], [2, 2, 2])
Traceback (most recent call last):
...
...
ValueError: Both points must be in the same n-dimensional space
>>> manhattan_distance([1,"one"], [2, 2, 2])
Traceback (most recent call last):
...
...
TypeError: Expected a list of numbers as input, found str
>>> manhattan_distance(1, [2, 2, 2])
Traceback (most recent call last):
@ -66,14 +66,14 @@ def _validate_point(point: list[float]) -> None:
if isinstance(point, list):
for item in point:
if not isinstance(item, (int, float)):
raise TypeError(
f"Expected a list of numbers as input, "
f"found {type(item).__name__}"
msg = (
"Expected a list of numbers as input, found "
f"{type(item).__name__}"
)
raise TypeError(msg)
else:
raise TypeError(
f"Expected a list of numbers as input, found {type(point).__name__}"
)
msg = f"Expected a list of numbers as input, found {type(point).__name__}"
raise TypeError(msg)
else:
raise ValueError("Missing an input")

View File

@ -41,7 +41,8 @@ def is_pronic(number: int) -> bool:
TypeError: Input value of [number=6.0] must be an integer
"""
if not isinstance(number, int):
raise TypeError(f"Input value of [number={number}] must be an integer")
msg = f"Input value of [number={number}] must be an integer"
raise TypeError(msg)
if number < 0 or number % 2 == 1:
return False
number_sqrt = int(number**0.5)

View File

@ -29,10 +29,12 @@ def proth(number: int) -> int:
"""
if not isinstance(number, int):
raise TypeError(f"Input value of [number={number}] must be an integer")
msg = f"Input value of [number={number}] must be an integer"
raise TypeError(msg)
if number < 1:
raise ValueError(f"Input value of [number={number}] must be > 0")
msg = f"Input value of [number={number}] must be > 0"
raise ValueError(msg)
elif number == 1:
return 3
elif number == 2:

View File

@ -167,7 +167,7 @@ class FFT:
f"{coef}*x^{i}" for coef, i in enumerate(self.product)
)
return "\n".join((a, b, c))
return f"{a}\n{b}\n{c}"
# Unit tests

View File

@ -34,7 +34,8 @@ def prime_sieve(num: int) -> list[int]:
"""
if num <= 0:
raise ValueError(f"{num}: Invalid input, please enter a positive integer.")
msg = f"{num}: Invalid input, please enter a positive integer."
raise ValueError(msg)
sieve = [True] * (num + 1)
prime = []

View File

@ -31,7 +31,8 @@ def sylvester(number: int) -> int:
if number == 1:
return 2
elif number < 1:
raise ValueError(f"The input value of [n={number}] has to be > 0")
msg = f"The input value of [n={number}] has to be > 0"
raise ValueError(msg)
else:
num = sylvester(number - 1)
lower = num - 1

View File

@ -32,7 +32,8 @@ def twin_prime(number: int) -> int:
TypeError: Input value of [number=6.0] must be an integer
"""
if not isinstance(number, int):
raise TypeError(f"Input value of [number={number}] must be an integer")
msg = f"Input value of [number={number}] must be an integer"
raise TypeError(msg)
if is_prime(number) and is_prime(number + 2):
return number + 2
else: