user10154967
user10154967

Reputation:

How to run python script in Command Prompt Windows 10

I am trying to run my Python script but it keeps on closing automatically at the end. What am i doing wrong? I am pretty new to Python so please don't judge me for my lack of knowledge. Any suggestions are much appreciated

import random

characters = ["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",'1','2','3','4','5','6','7','8','9','0',"!","@","#","$","%","&","*","(",")"]

characterswosymbols = ["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']

strength = input("Do you want a weak, medium or strong password?: ").lower()

new_password = []

def password(strength):
    if strength == 'weak':
        symbols = input("Do you want symbols in your password? (#,@ etc.): ").lower()
        if symbols == 'yes':
            while len(new_password) != 8:
                new_password.append(characters[random.randint(1, 70)])
        elif symbols == 'no':
            while len(new_password) != 8:
                new_password.append(characterswosymbols[random.randint(1, 70)])

    elif strength == 'medium':
        symbols = input("Do you want symbols in your password? (#,@ etc.): ").lower()
        if symbols == 'yes':
            while len(new_password) != 11:
                new_password.append(characters[random.randint(1, 70)])
        elif symbols == 'no':
            while len(new_password) != 11:
                new_password.append(characterswosymbols[random.randint(1, 70)])

    elif strength == 'strong':
        symbols = input("Do you want symbols in your password? (#,@ etc.): ").lower()
        if symbols == 'yes':
            while len(new_password) != 14:
                new_password.append(characters[random.randint(1, 70)])
        elif symbols == 'no':
            while len(new_password) != 14:
                new_password.append(characterswosymbols[random.randint(1, 70)])


    return new_password

password(strength)

new_password = "".join(new_password)

print(new_password)

The code is as above...

Thanks,

Omkar

Upvotes: 1

Views: 3836

Answers (3)

Kevin Müller
Kevin Müller

Reputation: 770

You can stop the console from closing using:

Python 3: input("prompt: ")

Python 2: raw_input("prompt: ")

These will keep the console alive until you press Return (Enter)

Upvotes: 2

ech0
ech0

Reputation: 542

You can save the file on your filesystem. If I for example would save this as main.py in the location C:/Users/Me/main.py I could simply go to the Windows command prompt and type python c:/Users/Me/main.py and the program would be run. The program will close afterwards, but you will get to see the input because the command prompt wont exit even when the program execution finishes.

Upvotes: 0

U13-Forward
U13-Forward

Reputation: 71560

Even easier, better, and more efficient, random.sample+string.printable+string.digits+string.ascii_letters:

import random,string

strength = input("Do you want a weak, medium or strong password?: ").lower()


def password(strength):
    new_password = []
    if strength == 'weak':
        symbols = input("Do you want symbols in your password? (#,@ etc.): ").lower()
        if symbols == 'yes':
            new_password.extend(random.sample(string.printable.rstrip(),8))
        elif symbols == 'no':
            new_password.extend(random.sample(string.digits+string.ascii_letters,8))

    new_password = []
    if strength == 'medium':
        symbols = input("Do you want symbols in your password? (#,@ etc.): ").lower()
        if symbols == 'yes':
            new_password.extend(random.sample(string.printable.rstrip(),11))
        elif symbols == 'no':
            new_password.extend(random.sample(string.digits+string.ascii_letters,11))

    new_password = []
    if strength == 'strong':
        symbols = input("Do you want symbols in your password? (#,@ etc.): ").lower()
        if symbols == 'yes':
            new_password.extend(random.sample(string.printable.rstrip(),14))
        elif symbols == 'no':
            new_password.extend(random.sample(string.digits+string.ascii_letters,14))


    return new_password

new_password = "".join(password(strength))

print(new_password)

Here's an example output:

Do you want a weak, medium or strong password?: strong
Do you want symbols in your password? (#,@ etc.): yes
~rKc&%9Y<U31W.

Upvotes: 0

Related Questions