[Tutor] email validation
Quiles, Stephanie
stephanie.quiles001 at albright.edu
Mon Aug 3 00:54:24 CEST 2015
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.gauld at 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 at python.org
> To unsubscribe or change subscription options:
> https://mail.python.org/mailman/listinfo/tutor
More information about the Tutor
mailing list