🔐 Password Generator Python - Complete Console Project
Hey friends! Need strong passwords? Create your own Password Generator in Python! This console app creates 4 types: Numbers only, Letters only, Symbols only, or ALL combined. Choose length and type - instant secure password ready to copy!
Perfect OOP beginner project using classes, methods, random.choice and input validation. No external libraries needed. Works perfectly for secure accounts, WiFi passwords, app logins!
💻 Complete Working Python Code
import random
class PasswordGenerator:
def __init__(self):
self.uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
self.lowercase = "abcdefghijklmnopqrstuvwxyz"
self.numbers = "0123456789"
self.symbols = "!@#$%^&*()_+-=[]{}|;:,.<>?"
def generate_numbers(self, length):
"""Numbers only password"""
password = ""
for _ in range(length):
password += random.choice(self.numbers)
return password
def generate_letters(self, length):
"""Letters only (upper + lower)"""
all_letters = self.uppercase + self.lowercase
password = ""
for _ in range(length):
password += random.choice(all_letters)
return password
def generate_symbols(self, length):
"""Symbols only"""
password = ""
for _ in range(length):
password += random.choice(self.symbols)
return password
def generate_full(self, length):
"""All characters combined - strongest passwords"""
all_chars = self.uppercase + self.lowercase + self.numbers + self.symbols
password = ""
for _ in range(length):
password += random.choice(all_chars)
return password
def main():
generator = PasswordGenerator()
print("🔐 PASSWORD GENERATOR")
print("1. Numbers only")
print("2. Letters only")
print("3. Symbols only")
print("4. FULL (Numbers+Letters+Symbols) - RECOMMENDED")
try:
choice = int(input("\nChoose type (1-4): "))
length = int(input("Password length (8-50): "))
if length < 8 or length > 50:
print("❌ Use 8-50 characters for security!")
return
if choice == 1:
password = generator.generate_numbers(length)
print(f"\n✅ Numbers Password: {password}")
elif choice == 2:
password = generator.generate_letters(length)
print(f"\n✅ Letters Password: {password}")
elif choice == 3:
password = generator.generate_symbols(length)
print(f"\n✅ Symbols Password: {password}")
elif choice == 4:
password = generator.generate_full(length)
print(f"\n✅ STRONG Password: {password}")
else:
print("❌ Invalid choice! Use 1-4")
except ValueError:
print("❌ Enter numbers only!")
if __name__ == "__main__":
main()
✅ Sample Passwords Generated
Type 1 (Numbers): 73948215
Type 2 (Letters): KjPxNmRt
Type 4 (Full): A7#kP9@mX2$
📋 4 Password Types Available
- #1 Numbers: 73948215 (PIN codes, simple accounts)
- #2 Letters: KjPxNmRt (Email passwords)
- #3 Symbols: @#$%^&*() (Extra security)
- #4 FULL: A7#kP9@mX2$ (Banking, important accounts)
🧠 Code Features Explained
- Class-based OOP - Professional structure
- 4 methods - Different password types
- random.choice() - Secure randomness
- Input validation - Error-proof
- Length limits - 8-50 chars security
- 60+ characters - Maximum strength
🔧 Run in 3 Steps
- Copy code to
password_generator.py - Run
python password_generator.py - Choose 1-4 + length → Copy password!
🎯 Why Perfect Beginner Project?
- Learn OOP classes + methods
- string concatenation practice
- random.choice() mastery
- Error handling with try/except
- 60+ chars character sets
- Real-world security utility
🚀 Pro Version Ideas
- Save passwords to encrypted file
- Password strength meter
- Multiple passwords at once
- tkinter GUI interface
- Clipboard copy function
- Custom character sets
💬 Generate your password and share length in comments! 🔐
Tags
beginner Python project
generate secure password
programming tutorial
Python beginner code
Python coding
Python password generator
Python tutorial
random password Python
simple password generator