未验证 提交 1ae5abfc 编写于 作者: C Christian Clauss 提交者: GitHub

Replace typing.optional with new annotations syntax (#5829)

* Replace typing.optional with new annotations syntax

* updating DIRECTORY.md
Co-authored-by: Ngithub-actions <${GITHUB_ACTOR}@users.noreply.github.com>
上级 d848bfbf
......@@ -525,6 +525,7 @@
* [Perfect Cube](https://github.com/TheAlgorithms/Python/blob/master/maths/perfect_cube.py)
* [Perfect Number](https://github.com/TheAlgorithms/Python/blob/master/maths/perfect_number.py)
* [Perfect Square](https://github.com/TheAlgorithms/Python/blob/master/maths/perfect_square.py)
* [Persistence](https://github.com/TheAlgorithms/Python/blob/master/maths/persistence.py)
* [Pi Monte Carlo Estimation](https://github.com/TheAlgorithms/Python/blob/master/maths/pi_monte_carlo_estimation.py)
* [Pollard Rho](https://github.com/TheAlgorithms/Python/blob/master/maths/pollard_rho.py)
* [Polynomial Evaluation](https://github.com/TheAlgorithms/Python/blob/master/maths/polynomial_evaluation.py)
......
......@@ -5,8 +5,9 @@ Nodes contain data and also may link to other nodes:
head node gives us access of the complete list
- Last node: points to null
"""
from __future__ import annotations
from typing import Any, Optional
from typing import Any
class Node:
......@@ -17,7 +18,7 @@ class Node:
class LinkedList:
def __init__(self) -> None:
self.head: Optional[Node] = None
self.head: Node | None = None
self.size = 0
def add(self, item: Any) -> None:
......
from typing import Any, Iterator, Optional
from __future__ import annotations
from typing import Any, Iterator
class Node:
def __init__(self, data: Any):
self.data: Any = data
self.next: Optional[Node] = None
self.next: Node | None = None
class CircularLinkedList:
......
from typing import Any, Optional
from __future__ import annotations
from typing import Any
class ContainsLoopError(Exception):
......@@ -8,7 +10,7 @@ class ContainsLoopError(Exception):
class Node:
def __init__(self, data: Any) -> None:
self.data: Any = data
self.next_node: Optional[Node] = None
self.next_node: Node | None = None
def __iter__(self):
node = self
......
from typing import Optional
from __future__ import annotations
class Node:
......@@ -17,7 +17,7 @@ class LinkedList:
self.head = new_node
return self.head.data
def middle_element(self) -> Optional[int]:
def middle_element(self) -> int | None:
"""
>>> link = LinkedList()
>>> link.middle_element()
......
from __future__ import annotations
from math import gcd
from typing import Union
def pollard_rho(
......@@ -7,7 +8,7 @@ def pollard_rho(
seed: int = 2,
step: int = 1,
attempts: int = 3,
) -> Union[int, None]:
) -> int | None:
"""
Use Pollard's Rho algorithm to return a nontrivial factor of ``num``.
The returned factor may be composite and require further factorization.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册