0

i am doing this homework problem in whichthis code is to retrieve a search input from user such a name or phone and it will print out the info from a list in the code. I have no idea i keep getting an syntax error at where the varible "place" first appears

place = int(name.index(search))

I honestly have no idea why this is happening, may be just my ignorance on using the functions

contact = [["John","Steve","Jane", "Sally","Pam"],["999-555-1122","999-444-2233", "999-333-3344","999-222-4455", "999-111-5566"],["[email protected]","[email protected]","[email protected]","[email protected]","[email protected]"]]
name    = contact[0]
phone   = contact[1]    
email   = contact[2]
n=0
while n == 0:
    command = str(input("Choose command (list,name,number,email,add,remove,quit):"))
    if   command == ("list"):
        print (contact)
    elif command == ("name"):
        search = str(input("Input name:")
        place= int(name.index(search))
        if search in name:
            print("Contact Found")
            print (name[place])
            print (phone[place])
            print (email[place])
        else:
            print("Contact could not be found")
    elif command == ("number"):
        search = str(input("Input name:")
        place  = int(name.index(search))
        if search in name:
            print("Contact Found")
            print (name[place])
            print (phone[place])
        else:
            print("Contact could not be found")

    elif command == ("email"):
        search = str(input("Input name:")
        place  = int(name.index(search))
        if search in name:
            print("Contact Found")
            print (name[place])
            print (email[place])
        else:
            print("Contact could not be found")
    elif command == ("add"):
        print ("Adding New Contact:")
        newname  = str(input("Name :"))
        newphone = str(input("Phone:"))
        newemail = str(input("Email:"))
        name.append(newname)
        phone.append(newphone)
        email.append(newemail)
    elif command == ("remove"):
        contactdel= str(input("Which contact information would you like to remove?"))
        if contactdel in name:
            confirm = str(input("Are you sure you want to delete this contact?(y or n)"))
            if confirm == ("y"):
                contactfind=name.index(contactdel)
                name.pop([contactfind])
                phone.pop([contactfind])
                email.pop([contactfind])
                print ("Contact has been sucessfully deleted")
            elif confirm == ("n"):
                print ("Contact will not be deleted")
            else:
                print ("ERROR.....INPROPER INPUT.....ERROR")

    elif command == ("quit"):
        n = 1

1 Answer 1

1

Syntax errors are frequently a bit higher up the code than the point where python finally realizes something has gone wrong. In your case, look up one line to

search = str(input("Input name:")

Its missing a final closing paren at the end.

When I'm having problems spotting a syntax error, I paste just a small bit of the offending code into a separate file and hack away from there. For instance, this script produces the same problem and its a lot easier to spot the problem

search = str(input("Input name:")
place  = int(name.index(search))
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.