Skip to main content

I've been learning python for a few days now, and I programmed this password generator after today's lesson (following the 100 days of code on udemy course). This code works like it should and gives me the desired results, but out of pure curiosity, I am interested in optimizing the code even more. If you do decide to give it the time to optimize an aspect of it, I will be forever grateful.

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 = ['!', '#', '$', '%', '&', '(', ')', '*', '+']

print("Welcome to the PyPassword Generator!")
nr_letters = int(input("How many letters would you like in your password?\n"))
nr_symbols = int(input(f"How many symbols would you like?\n"))
nr_numbers = int(input(f"How many numbers would you like?\n"))

password = []

for req in range(0, nr_letters + 1):
    letter_index = random.randint(0, len(letters))
    password.append(letters[letter_index-1])

for sym in range(1, nr_symbols + 1):
    symbol_index = random.randint(0,len(symbols))
    password.append(symbols[symbol_index-1])

for num in range(1, nr_numbers + 1):
    number_index = random.randint(0,len(numbers))
    password.append(numbers[number_index-1])

random.shuffle(password)
print(*password,sep='')

I've been learning python for a few days now, and I programmed this password generator after today's lesson (following the 100 days of code on udemy course). This code works like it should and gives me the desired results, but out of pure curiosity, I am interested in optimizing the code even more. If you do decide to give it the time to optimize an aspect of it, I will be forever grateful.

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 = ['!', '#', '$', '%', '&', '(', ')', '*', '+']

print("Welcome to the PyPassword Generator!")
nr_letters = int(input("How many letters would you like in your password?\n"))
nr_symbols = int(input(f"How many symbols would you like?\n"))
nr_numbers = int(input(f"How many numbers would you like?\n"))

password = []

for req in range(0, nr_letters + 1):
    letter_index = random.randint(0, len(letters))
    password.append(letters[letter_index-1])

for sym in range(1, nr_symbols + 1):
    symbol_index = random.randint(0,len(symbols))
    password.append(symbols[symbol_index-1])

for num in range(1, nr_numbers + 1):
    number_index = random.randint(0,len(numbers))
    password.append(numbers[number_index-1])

random.shuffle(password)
print(*password,sep='')

I've been learning python for a few days now, and I programmed this password generator after today's lesson (following the 100 days of code on udemy course). This code works like it should and gives me the desired results, but out of pure curiosity, I am interested in optimizing the code even more.

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 = ['!', '#', '$', '%', '&', '(', ')', '*', '+']

print("Welcome to the PyPassword Generator!")
nr_letters = int(input("How many letters would you like in your password?\n"))
nr_symbols = int(input(f"How many symbols would you like?\n"))
nr_numbers = int(input(f"How many numbers would you like?\n"))

password = []

for req in range(0, nr_letters + 1):
    letter_index = random.randint(0, len(letters))
    password.append(letters[letter_index-1])

for sym in range(1, nr_symbols + 1):
    symbol_index = random.randint(0,len(symbols))
    password.append(symbols[symbol_index-1])

for num in range(1, nr_numbers + 1):
    number_index = random.randint(0,len(numbers))
    password.append(numbers[number_index-1])

random.shuffle(password)
print(*password,sep='')
edited tags
Link
Reinderien
  • 71.1k
  • 5
  • 76
  • 256
added 1 character in body
Source Link
toolic
  • 15.8k
  • 6
  • 29
  • 217

I've been learning python for a few days now, and I programmed this password generator after todaystoday's lesson (following the 100 days of code on udemy course). This code works like it should and gives me the desired results, but out of pure curiosity, I am interested in optimizing the code even more. If you do decide to give it the time to optimize an aspect of it, I will be forever grateful :).

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 = ['!', '#', '$', '%', '&', '(', ')', '*', '+']

print("Welcome to the PyPassword Generator!")
nr_letters = int(input("How many letters would you like in your password?\n"))
nr_symbols = int(input(f"How many symbols would you like?\n"))
nr_numbers = int(input(f"How many numbers would you like?\n"))

password = []

for req in range(0, nr_letters + 1):
    letter_index = random.randint(0, len(letters))
    password.append(letters[letter_index-1])

for sym in range(1, nr_symbols + 1):
    symbol_index = random.randint(0,len(symbols))
    password.append(symbols[symbol_index-1])

for num in range(1, nr_numbers + 1):
    number_index = random.randint(0,len(numbers))
    password.append(numbers[number_index-1])

random.shuffle(password)
print(*password,sep='')

I've been learning python for a few days now and I programmed this password generator after todays lesson (following the 100 days of code on udemy course). This code works like it should and gives me the desired results, but out of pure curiosity I am interested in optimizing the code even more. If you do decide to give it the time to optimize an aspect of it, I will be forever grateful :)

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 = ['!', '#', '$', '%', '&', '(', ')', '*', '+']

print("Welcome to the PyPassword Generator!")
nr_letters = int(input("How many letters would you like in your password?\n"))
nr_symbols = int(input(f"How many symbols would you like?\n"))
nr_numbers = int(input(f"How many numbers would you like?\n"))

password = []

for req in range(0, nr_letters + 1):
    letter_index = random.randint(0, len(letters))
    password.append(letters[letter_index-1])

for sym in range(1, nr_symbols + 1):
    symbol_index = random.randint(0,len(symbols))
    password.append(symbols[symbol_index-1])

for num in range(1, nr_numbers + 1):
    number_index = random.randint(0,len(numbers))
    password.append(numbers[number_index-1])

random.shuffle(password)
print(*password,sep='')

I've been learning python for a few days now, and I programmed this password generator after today's lesson (following the 100 days of code on udemy course). This code works like it should and gives me the desired results, but out of pure curiosity, I am interested in optimizing the code even more. If you do decide to give it the time to optimize an aspect of it, I will be forever grateful.

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 = ['!', '#', '$', '%', '&', '(', ')', '*', '+']

print("Welcome to the PyPassword Generator!")
nr_letters = int(input("How many letters would you like in your password?\n"))
nr_symbols = int(input(f"How many symbols would you like?\n"))
nr_numbers = int(input(f"How many numbers would you like?\n"))

password = []

for req in range(0, nr_letters + 1):
    letter_index = random.randint(0, len(letters))
    password.append(letters[letter_index-1])

for sym in range(1, nr_symbols + 1):
    symbol_index = random.randint(0,len(symbols))
    password.append(symbols[symbol_index-1])

for num in range(1, nr_numbers + 1):
    number_index = random.randint(0,len(numbers))
    password.append(numbers[number_index-1])

random.shuffle(password)
print(*password,sep='')
Became Hot Network Question
Source Link
Loading