Generate Strong Passwords with Python

A Beginner’s Guide

Welcome to your next exciting Python project! Today, we’re going to build a Password Generator. A password generator creates random, strong passwords, which are crucial for protecting your online accounts. Strong passwords are hard to guess and provide better security, reducing the risk of hacking. Let’s walk through the steps to create your very own password generator using Python. This project is perfect for beginners and will teach you essential coding concepts.

 

What You Will Learn

  • Lists: How to use lists to store data.

  • Loops: How to repeat actions using for loops.

  • User Input: How to get input from the user.

  • Random Module: How to generate random choices.

  • String Manipulation: How to create and shuffle strings.

Step-by-Step Guide to Creating a Password Generator

 

Step 1: Import the Random Module

 

First, we need to import Python’s built-in random module, which will help us randomly select characters for our passwords.

 

import random

 

Step 2: Create Lists of Characters

 

We’ll create lists to hold letters, numbers, and symbols. These lists will be our pool of characters to build the passwords from.

 

# List of letters

letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x','y' ,'z',

           'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']

# List of numbers

numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']

# List of symbols

symbols = ['!', '#', '$', '%', '&', '(', ')', '*', '+']

 

Step 3: Ask User for Input

 

We’ll ask the user how many letters, numbers, and symbols they want in their password. We’ll also ask how many passwords they want to generate.

 

print("Welcome to the PyPassword Generator!")

nr_letters = int(input("How many letters would you like in your password? "))

nr_numbers = int(input("How many numbers would you like? "))

nr_symbols = int(input("How many symbols would you like? "))

number_of_pwd = int(input("How many passwords do you want to generate? "))

 

Step 4: Generate the Password

 

We’ll create a loop to generate the specified number of passwords. For each password, we’ll:

  • Add random letters, numbers, and symbols to a list.

  • Shuffle the list to mix up the characters.

  • Convert the list to a string to form the final password.

for pwd in range(number_of_pwd):

    # Create an empty list for the password

    password = []

 

    # Add random letters

    for letter in range(1, nr_letters + 1):

        password.append(random.choice(letters))

 

    # Add random numbers

    for number in range(1, nr_numbers + 1):

        password.append(random.choice(numbers))

 

    # Add random symbols

    for symbol in range(1, nr_symbols + 1):

        password.append(random.choice(symbols))

 

    # Shuffle the password list

    random.shuffle(password)

 

    # Convert the list to a string

    password_string = "".join(password)

 

    print(f"Your password #{pwd+1} is {password_string}")

Step 5: Putting It All Together

 

Access the complete code for our Password Generator, and make a copy via link below:

Recommendation

Sponsored
Connecting Dots@dharmesh on startups, scaleups and strategy

Conclusion

Congratulations! You’ve just created your own Password Generator in Python. This project has introduced you to key programming concepts like lists, loops, user input, and random choices—all essential tools for any budding programmer.

Ready to Take Your Python Skills to the Next Level?

Subscribe to our newsletter now and get a free Python cheat sheet! Dive deeper into Python programming and explore more exciting projects that will boost your coding skills.

🌟 Subscribe Now and Boost Your Coding Skills!

Happy coding and keep creating awesome projects with Python!