Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Is there something I am doing wrong in this code? The add is not working

There seems to be something wrong with my code but I can’t figure it out.

from time import sleep

emergency = "911"
phone = {"Mother":"xxx-xxx-xxxx", "Father":"xxx-xxx-xxxx", "911":emergency,
"Police":emergency, "Fire":emergency, "Emergency":emergency}

emails = {"Mother":"example@gmail.com", "Father":"example@gmail.com",
"911":emergency, "Police":emergency, "Fire":emergency, "Emergency":emergency}


while True:
    email_numb = input("Do you want Email or Phone numbers? (Type one, Phone or Email) For more options type m: ").lower().capitalize()

    if email_numb == "Email":
        email_input = input("Who's email would you like to find? (enter a name): ").lower().capitalize()
        if email_input in emails:
            print(emails[email_input])
        else:
           print("Sorry but I cannot find the name, check out for typos")
        sleep(2)

    elif email_numb == "Phone":
        phone_input = input("Who's phone number would you like to find? (enter a name): ").lower().capitalize()
        if phone_input in phone:
            print(phone[phone_input])
        else:
            print("Sorry but I cannot find the name, check for typos")
        sleep(2)
    
    elif email_numb == "M":
       what_to_do = input("Do want to edit, add, or delete, a person in the directory? (Type add, edit, or delete) ").lower().capitalize()

    elif what_to_do == "Add":
        email_number = input("Would you like to add a new email address or a new phone number? (type email or phone) ").lower().capitalize()
        if email_number == "Email":
            new_email = []
            name = input("Please type the name: ")
            new_email.append(name)
            email = input("Please type the email: ")
            new_email.append(email)
            print(new_email)
            new_pair = ":".join(new_email)
            emails.update({new_pair})
            continue

    elif email_numb != {'Email', 'Phone', "M"}  :
        print("Sorry, I don't understand")
        sleep(2)
        continue
        

    stop_or_continue = input("Would you like to search up another number/email address? Press q to quit and any other key to continue: ")

    if stop_or_continue == "q":
        break
    else:
        continue

When I try to type in add it doesn’t work, it just skips to the stop_or_continue input. And somwetimes when I type in random things it goes to the part where I can put in the name and email. it was working perfectly fine until I started adding the add function. Any ideas?

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

>Solution :

Your "add" function is on the main "if" statement, meaning that "Add" will only be checked for if email_numb == M (and all other conditions) is false.

You’ll want to move it inside the if email_numb == "M" check:

    ...
    elif email_numb == "M":
        what_to_do = input("Do want to edit, add, or delete, a person in the directory? (Type add, edit, or delete) ").lower().capitalize()

        if what_to_do == "Add":
            email_number = input("Would you like to add a new email address or a new phone number? (type email or phone) ").lower().capitalize()
            if email_number == "Email":
                new_email = []
                name = input("Please type the name: ")
                new_email.append(name)
                email = input("Please type the email: ")
                new_email.append(email)
                print(new_email)
                new_pair = ":".join(new_email)
                emails.update({new_pair})
                continue

   elif email_numb != {'Email', 'Phone', "M"}:
   ...
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading