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?
Here is the corrected code : import pickle def main(): cont = True emails = open_existing_file() print(emails) # Get data... 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 main() Thanks Stephanie > On Aug 2, 2015, at 10:12 AM, Alan Gauld <alan.ga...@btinternet.com> wrote: > > On 02/08/15 09:31, Alan Gauld wrote: > >> them outside the main block and use them in your tests. In that case you >> only need one function which I'd call something like test_email() > > Ahem. Or you could call it is_good_address() of course! Oops! > >> 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 > > -- > 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 _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor