lundi 19 mars 2018

How do I avoid checking for every possibility using if else statements?

I have just started learning Python (yesterday) and am wondering how to make one of my first programs more efficiently.

Basically, my question is how do I make a program that requires direct input but doesn't check for every possibility using if else statements. My program is very simple, all it does is have you set a username and password and re-enter them, but I had to manually set every possibility. For example, if you put a username in and you entered it wrong, it allows you to reset it. Thanks for the help!

Here is my code:

def main():
tries = 2
username = raw_input("Please enter a Username ")
confirmation = raw_input("Is your Username: " + username + "? ")
if(confirmation == "yes") or (confirmation == "Yes"):
    password = raw_input("Please enter a Password for " + username + " ")
    passconfirm = raw_input("Is your Password " + password + "? ")
    if(passconfirm == "yes") or (passconfirm == "Yes"):
        #username and password
        enteruser = raw_input("Please enter your Username: ")
        if(enteruser == username):
            enterpass = raw_input("Please enter your Password for " + username + " ")
            if(enterpass == password):
                print("Welcome " + username)
            else:
                while(tries > 0):
                        enterpass = raw_input("Incorrect Password, Please re-enter your Password for " + username + " ")
                        if (enterpass == password):
                            print("Welcome " + username)
                            exit()
                        else:
                            tries = tries - 1
                print("Password incorrect")
        else:
            while(enteruser != username):
                enteruser = raw_input("Username not recognized, please retry ")
            enterpass = raw_input("Please enter your Password for " + username + " ")
            if (enterpass == password):
                print("Welcome " + username)
            else:
                while (tries > 0):
                    enterpass = raw_input("Incorrect Password, Please re-enter your Password for " + username + " ")
                    if (enterpass == password):
                        print("Welcome " + username)
                        exit()
                    else:
                        tries = tries - 1
                print("Password incorrect")
    else:
        while(passconfirm != "yes") and (passconfirm != "Yes"):
            #username and password2
            password2 = raw_input("Please re-enter a Password for " + username + " ")
            passconfirm = raw_input("Is your Password " + password2 + "? ")
        enteruser = raw_input("Please enter your Username: ")
        if (enteruser == username):
            enterpass = raw_input("Please enter your Password for " + username + " ")
            if (enterpass == password2):
                print("Welcome " + username)
            else:
                while (tries > 0):
                    enterpass = raw_input("Incorrect Password, Please re-enter your Password for " + username + " ")
                    if (enterpass == password2):
                        print("Welcome " + username)
                        exit()
                    else:
                        tries = tries - 1
                print("Password incorrect")
        else:
            while (enteruser != username):
                enteruser = raw_input("Username not recognized, please retry ")
            enterpass = raw_input("Please enter your Password for " + username + " ")
            if (enterpass == password2):
                print("Welcome " + username)
            else:
                while (tries > 0):
                    enterpass = raw_input("Incorrect Password, Please re-enter your Password for " + username + " ")
                    if (enterpass == password2):
                        print("Welcome " + username)
                        exit()
                    else:
                        tries = tries - 1
                print("Password incorrect")
else:
    while(confirmation != "yes") and (confirmation != "Yes"):
        username2 = raw_input("Please re-enter your Username ")
        confirmation = raw_input("Is your Username: " + username2 + "? ")
    password = raw_input("Please enter a Password for " + username2 + " ")
    passconfirm = raw_input("Is your Password " + password + "? ")
    if (passconfirm == "yes") or (passconfirm == "Yes"):
        #username2 password
        enteruser = raw_input("Please enter your Username: ")
        if (enteruser == username2):
            enterpass = raw_input("Please enter your Password for " + username2 + " ")
            if (enterpass == password):
                print("Welcome " + username2)
            else:
                while (tries > 0):
                    enterpass = raw_input("Incorrect Password, Please re-enter your Password for " + username2 + " ")
                    if (enterpass == password):
                        print("Welcome " + username2)
                        exit()
                    else:
                        tries = tries - 1
                print("Password incorrect")
        else:
            while (enteruser != username2):
                enteruser = raw_input("Username not recognized, please retry ")
            enterpass = raw_input("Please enter your Password for " + username2 + " ")
            if (enterpass == password):
                print("Welcome " + username2)
            else:
                while (tries > 0):
                    enterpass = raw_input("Incorrect Password, Please re-enter your Password for " + username2 + " ")
                    if (enterpass == password):
                        print("Welcome " + username2)
                        exit()
                    else:
                        tries = tries - 1
                print("Password incorrect")
    else:
        while (passconfirm != "yes") and (passconfirm != "Yes"):
            #username2 password2
            password2 = raw_input("Please re-enter a Password for " + username2 + " ")
            passconfirm = raw_input("Is your Password " + password2 + "? ")
        enteruser = raw_input("Please enter your Username: ")
        if (enteruser == username2):
            enterpass = raw_input("Please enter your Password for " + username2 + " ")
            if (enterpass == password2):
                print("Welcome " + username2)
            else:
                while (tries > 0):
                    enterpass = raw_input("Incorrect Password, Please re-enter your Password for " + username2 + " ")
                    if (enterpass == password2):
                        print("Welcome " + username2)
                        exit()
                    else:
                        tries = tries - 1
                print("Password incorrect")
        else:
            while (enteruser != username2):
                enteruser = raw_input("Username not recognized, please retry ")
            enterpass = raw_input("Please enter your Password for " + username2 + " ")
            if (enterpass == password2):
                print("Welcome " + username2)
            else:
                while (tries > 0):
                    enterpass = raw_input("Incorrect Password, Please re-enter your Password for " + username2 + " ")
                    if (enterpass == password2):
                        print("Welcome " + username2)
                        exit()
                    else:
                        tries = tries - 1
                print("Password incorrect")

main()

Aucun commentaire:

Enregistrer un commentaire