On 02/08/15 23:54, Quiles, Stephanie wrote:
So i took your advice and i am much closer. however, when i type in an invalid 
address it loops back to the first prompt and asks you to enter your name: I 
want it to ask you to re-enter your email address instead how would i go about 
this?

Just move the line that asks for the name above the while loop.
Then it will only ask for the name once.

If you want to cater for multiple users each with multiple addresses then
you will need two nested loops.

while True
    user = input(...name...):
    collect other user data here
    while True:
           get/check addresses here

     while cont:
         name = input("Enter your name: ")
         email1 = input("Enter your email address: ")
         if not is_good_address(email1): continue
         email2 = input("Enter an alternate email address: ")
         if not is_good_address(email2): continue
         phone = input("Enter your phone number: ")
         contactlist = [email1, email2, phone]
         emails[name] = contactlist
         c = input("Enter another? [y]/n: ")
         if c == 'n' or c == 'N':
             cont = False

             # Save data...
         outfile = open("emails.dat", "wb")
         pickle.dump(emails, outfile)
         outfile.close
         print("Your data has been saved to emails.dat")

def is_good_address(addr):
     if '@' not in addr or '.' not in addr:
         print('email needs @ and . at the same time')
         return False
     else:
         return True

def open_existing_file():
     # returns an empty dictionary or one that has data from a file
     emails = {}
     # Load the dictionary
     try:
         infile = open("emails.dat", "rb")
         emails = pickle.load(infile)
         infile.close()
     except:
         print("No file to open. Starting with no data.")
     return emails

--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to