Creating secure passwords is essential in today’s digital world. Whether you are building a login system or simply want to generate strong passwords for personal use, knowing how to automate password creation using Python is extremely valuable.
In this tutorial, we will break down a simple yet powerful Python Password Generator that uses letters, numbers, and symbols to create a randomized, secure password.
Why Build a Password Generator?

Weak passwords are the easiest target for hackers. A strong password must include:
- Uppercase and lowercase letters
- Numbers
- Special characters
- A random order
The Python script below covers all these requirements. Let’s explore how it works.
Complete Python Password Generator Code
import random
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']
numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
symbols = ['!', '#', '$', '%', '&', '(', ')', '*', '+']
p_l = int(input("How many letters you want in your password?\n"))
p_n = int(input("How many numbers you want in your password?\n"))
p_s = int(input("How many symbols you want in your password?\n"))
password = []
for _ in range(p_l):
password.append(random.choice(letters))
for _ in range(p_n):
password.append(random.choice(numbers))
for _ in range(p_s):
password.append(random.choice(symbols))
random.shuffle(password)
shuffl_password = ""
for new_p in password:
shuffl_password = shuffl_password + new_p
print(f"Your password is: {shuffl_password}")
Step-by-Step Explanation
1. Importing the Random Module
import random
The random module allows us to randomly pick characters and shuffle them, ensuring every password is unpredictable.
2. Creating Lists of Characters
You created three lists:
letters→ A–Z and a–znumbers→ Digits 0–9symbols→ Special characters (!, #, %, &, etc.)
These lists act as a pool from which Python will pick characters.
3. Taking User Input
p_l = int(input("How many letters you want in your password?\n"))
p_n = int(input("How many numbers you want in your password?\n"))
p_s = int(input("How many symbols you want in your password?\n"))
The user decides how long the password should be and how many types of characters it must include.
4. Adding Random Characters to the Password
The script uses three loops:
for _ in range(p_l):
password.append(random.choice(letters))
This loop selects random letters and appends them to the password list.
The same logic is used for numbers and symbols.
5. Shuffling to Increase Randomness
random.shuffle(password)
This ensures the final password is not predictable—for example, letters first, then numbers. Everything gets mixed.
6. Joining the Final Password
shuffl_password = ""
for new_p in password:
shuffl_password = shuffl_password + new_p
The characters stored in the list are combined into a single string, creating your final password.
Final Output
Your password is: W9$k3P&f2+
Every time you run the program, you get a brand-new, highly secure password.
Conclusion
This Python Password Generator is a simple yet powerful project for beginners. You learned how to work with lists, loops, random modules, and string manipulation. You can expand this program further by:
- Adding password length validation
- Allowing automatic password strength rating
- Saving passwords securely using hashing
Python makes such tasks both fun and practical.
If you’re excited to continue your Python learning journey, there’s a great next step waiting for you. After experimenting with this password generator, you can dive into a hands-on tutorial that shows how to scrape movie transcripts automatically using Python and BeautifulSoup. It’s practical, beginner-friendly, and helps you understand how real-world data extraction works.

Ищешь блины для штанки? https://blin-na-shtangy.ru для эффективных силовых тренировок. Чугунные и резиновые диски, разные веса, долговечность и удобство использования. Решение для новичков и опытных спортсменов.
Grasz w kasynie? Kasyno pl w Polsce to najlepsze miejsca do gry w latach 2025–2026. Zaufane strony, sloty i gry na zywo, przejrzyste warunki, wygodne wplaty i wyplaty.
Szukasz kasyna? kasyno pl w Polsce: wybor najlepszych stron do gry. Licencjonowane platformy, popularne sloty i kasyna na zywo, wygodne metody platnosci, uczciwe warunki i aktualne oferty.
Торговая мебель https://woodmarket-for-business.ru от производителя для бизнеса. Витрины, стеллажи, островные конструкции и кассовые модули. Индивидуальный подход, надёжные материалы и практичные решения для продаж.
Производство оборудования https://repaircom.ru с предварительной разработкой и адаптацией под требования клиента. Качественные материалы, точные расчёты, соблюдение сроков и техническая поддержка.
Жалюзи от производителя https://balkon-pavilion.ru изготовление, продажа и профессиональная установка. Большой выбор дизайнов, точные размеры, надёжная фурнитура и комфортный сервис для квартир и офисов.
Изделия из пластмасс https://ftk-plastik.ru собственного производства. Продажа оптом и в розницу, широкий ассортимент, надёжные материалы и стабильные сроки. Выполняем заказы любой сложности по техническому заданию клиента.
Производим пластиковые https://zavod-dimax.ru окна и выполняем профессиональную установку. Качественные материалы, точные размеры, быстрый монтаж и гарантийное обслуживание для комфорта и уюта в помещении.
квартиры г сочи жк светский лес сочи цены
Op zoek naar een casino? WinnItt biedt online gokkasten en live games. Het biedt snel inloggen, eenvoudige navigatie, moderne speloplossingen en stabiele prestaties op zowel computers als mobiele apparaten.
джойказино вывод денег joycasino вход
Поставляем грунт https://organicgrunt.ru торф и чернозем с доставкой по Москве и Московской области. Подходит для посадок, благоустройства и озеленения. Качественные смеси, оперативная логистика и удобные условия для частных и коммерческих клиентов.
pinco официальный сайт скачать https://pinco-install-casino.ru
1win en ligne 1win apk
Городской портал https://u-misti.cherkasy.ua Черкасс — свежие новости, события, происшествия, экономика и общественная жизнь. Актуальные обзоры, городская хроника и полезная информация для жителей и гостей города.