ظاهرا این کد با اونی که استاد نوشتن یه فرق کوچیک داره که لازم نمیشه توی ویندوز از خط فرمان استفاده کنیم؟!. ممنون میشم توضیح بدید :
# Importing the required modules
import string
# Importing the random module to generate random passwords
from random import choices
# Defining the function to create a password
def create_password(length=8, upper=False, lower=False, digit=False, pun=False):
# Creating an empty string to store the pool of characters
pool = ''
# Adding the upper case letters to the pool if requested
if upper:
pool += string.ascii_uppercase
# Adding the lower case letters to the pool if requested
if lower:
pool += string.ascii_lowercase
# Adding the digits to the pool if requested
if digit:
pool += string.digits
# Adding the punctuation marks to the pool if requested
if pun:
pool += string.punctuation
# Using the default pool of letters if none is requested
if pool == '':
pool = string.ascii_letters
# Returning a random password of the given length from the pool
return ''.join(choices(pool, k=length))
# Checking if the script is run directly
if __name__ == '__main__':
# Asking the user for the password length and types of characters
length = int(input("Length of password: "))
upper = input("User Upper case (y/n): ") == 'y'
lower = input("User lower case (y/n): ") == 'y'
digit = input("User digit case (y/n): ") == 'y'
pun = input("User punc case (y/n): ") == 'y'
# Printing a random password using the create_password function and the user inputs
print(create_password(
length, upper, lower, digit, pun
))