All Algorithms implemented in Python the-algorithms.com/
Go to file
Pronoy Mandal 18ffc4dec8
Update password_generator.py (#7745)
* Update password_generator.py

1. Use secrets module instead of random for passwords as it gives a secure source of randomness
2. Add type annotations for functions
3. Replace ctbi (variable for the characters to be included) with a more meaningful and short name
4. Use integer division instead of obtaining the integer part of a division computing a floating point

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

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

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-10-29 14:54:13 +02:00
.github Add running doctest to pytest default (#7840) 2022-10-29 14:27:47 +02:00
arithmetic_analysis refactor: Indent ... for visual purposes (#7744) 2022-10-27 19:42:30 +02:00
audio_filters Add flake8 pluin flake8 bugbear to pre-commit (#7132) 2022-10-13 18:03:06 +02:00
backtracking Remove useless code in doctests (#7733) 2022-10-27 22:52:00 +02:00
bit_manipulation Add function for highest set bit location (#7586) 2022-10-26 22:09:23 +02:00
blockchain Pyupgrade to Python 3.9 (#4718) 2021-09-07 13:37:03 +02:00
boolean_algebra Added Implementation of NAND, OR ,XNOR and NOT gates in python (#7596) 2022-10-25 21:53:21 +02:00
cellular_automata Remove some print statements within algorithmic functions (#7499) 2022-10-22 13:33:51 +02:00
ciphers Adopt Python >= 3.8 assignment expressions using auto-walrus (#7737) 2022-10-28 15:54:54 +02:00
compression refactor: Move constants outside of variable scope (#7262) 2022-10-16 15:03:29 +05:30
computer_vision Remove useless code in doctests (#7733) 2022-10-27 22:52:00 +02:00
conversions refactor: Indent ... for visual purposes (#7744) 2022-10-27 19:42:30 +02:00
data_structures Adopt Python >= 3.8 assignment expressions using auto-walrus (#7737) 2022-10-28 15:54:54 +02:00
digital_image_processing Remove some print statements within algorithmic functions (#7499) 2022-10-22 13:33:51 +02:00
divide_and_conquer Remove some print statements within algorithmic functions (#7499) 2022-10-22 13:33:51 +02:00
dynamic_programming Create combination_sum_iv.py (#7672) 2022-10-28 21:32:32 +02:00
electronics refactor: Replace doctest traceback with ... (#7558) 2022-10-23 16:36:10 +02:00
file_transfer [mypy] fix small folders (#4292) 2021-03-23 16:51:50 +01:00
financial Calculate GST Amount (#7694) 2022-10-26 23:15:02 +02:00
fractals Change to https. (#7277) 2022-10-16 09:43:29 +02:00
fuzzy_logic Misc fixes across multiple algorithms (#6912) 2022-10-16 10:55:38 +05:30
genetic_algorithm refactor: Indent ... for visual purposes (#7744) 2022-10-27 19:42:30 +02:00
geodesy refactor: Move constants outside of variable scope (#7262) 2022-10-16 15:03:29 +05:30
graphics The black formatter is no longer beta (#5960) 2022-01-30 20:29:54 +01:00
graphs Rename files (#7819) 2022-10-29 14:31:56 +02:00
greedy_methods Corrected the directory of Fractional Knapsack algorithm (#7086) 2022-10-16 22:41:28 +02:00
hashes refactor: Move constants outside of variable scope (#7262) 2022-10-16 15:03:29 +05:30
knapsack Rewrite parts of Vector and Matrix (#5362) 2021-10-27 11:48:43 +08:00
linear_algebra refactor: Indent ... for visual purposes (#7744) 2022-10-27 19:42:30 +02:00
machine_learning Format docs (#7821) 2022-10-29 08:26:19 +02:00
maths Implemented Swish Function (#7357) 2022-10-28 16:27:16 +02:00
matrix Remove useless code in doctests (#7733) 2022-10-27 22:52:00 +02:00
networking_flow Add pep8-naming to pre-commit hooks and fixes incorrect naming conventions (#7062) 2022-10-13 00:54:20 +02:00
neural_network refactor: Indent ... for visual purposes (#7744) 2022-10-27 19:42:30 +02:00
other Update password_generator.py (#7745) 2022-10-29 14:54:13 +02:00
physics Create centripetal_force.py (#7778) 2022-10-29 14:43:51 +02:00
project_euler refactor: Indent ... for visual purposes (#7744) 2022-10-27 19:42:30 +02:00
quantum Rename quantum_random.py to quantum_random.py.DISABLED.txt (#7683) 2022-10-26 22:08:53 +02:00
scheduling Misc fixes across multiple algorithms (#6912) 2022-10-16 10:55:38 +05:30
scripts pre-commit autoupdate: pyupgrade v2.34.0 -> v2.37.0 (#6245) 2022-07-11 10:19:52 +02:00
searches Remove useless code in doctests (#7733) 2022-10-27 22:52:00 +02:00
sorts Format docs (#7821) 2022-10-29 08:26:19 +02:00
strings Srilankan phone number validation (#7706) 2022-10-29 14:40:14 +02:00
web_programming Create fetch_amazon_product_data.py (#7585) 2022-10-28 16:33:21 +02:00
.flake8 refactor: move flake8 config (#7167) 2022-10-14 16:34:44 +02:00
.gitattributes Create .gitattributes for Cross OS compatibility (#3410) 2020-10-17 07:25:25 +02:00
.gitignore chore: update .gitignore (#6263) 2022-07-23 07:56:59 +05:30
.gitpod.yml Change gitpod configuration for python3. (#1827) 2020-04-07 12:20:08 +02:00
.pre-commit-config.yaml Adopt Python >= 3.8 assignment expressions using auto-walrus (#7737) 2022-10-28 15:54:54 +02:00
CONTRIBUTING.md Discord Server invite (#6663) 2022-10-04 18:40:53 +02:00
DIRECTORY.md Add running doctest to pytest default (#7840) 2022-10-29 14:27:47 +02:00
LICENSE.md LICENSE: Year change (#5920) 2022-03-16 23:40:48 +08:00
pyproject.toml Add running doctest to pytest default (#7840) 2022-10-29 14:27:47 +02:00
README.md refined readme.md (#7081) 2022-10-13 19:09:48 +02:00
requirements.txt Add web program to fetch top 10 real time billionaires using the forbes API. (#7538) 2022-10-23 16:35:27 +02:00

The Algorithms - Python

Gitpod Ready-to-Code Contributions Welcome Discord chat Gitter chat
GitHub Workflow Status pre-commit code style: black

All algorithms implemented in Python - for education

Implementations are for learning purposes only. They may be less efficient than the implementations in the Python standard library. Use them at your discretion.

Getting Started

Read through our Contribution Guidelines before you contribute.

Community Channels

We are on Discord and Gitter! Community channels are a great way for you to ask questions and get help. Please join us!

List of Algorithms

See our directory for easier navigation and a better overview of the project.