Hi all, I meant to ask why the main part after the password is not working right. No one has answered that yet. When I run the code and try to load a file that has been saved, a TypeError appears. How do I fix the code so no more errors will show up. Here is the newest code so far:
# This is the code for a password protected program to store passwords. password = "hello" print "The Password Program" print "Copywrite 2005. All Rights Reserved." print answer = raw_input("What is the password? ") while password != answer: print "The password is incorrect." answer = raw_input("What is the password? ") def main_menu(): print "1) Add a login info card" print "2) Lookup a login info card" print "3) Remove a login info card" print "4) Print Login info list" print "5) Save login list" print "6) Open Login list" print "9) Exit" def load_login(site,filename): in_file = open(filename,"r") while 1: in_line = in_file.readline() if len(in_file) == 0: break in_line = in_line[:-1] [site,id,passcard] = string.split(in_line,",") list[site] = id and passcard in_file.close() def save_login(site,filename): out_file = open(filename,"w") for x in site.keys(): out_file.write(x+","+sites[x]+"\n") out_file.close() menu_choice = 0 list = {} print "Welcome to the second half of the program." print main_menu() while menu_choice != 9: menu_choice = input("Choose an option: ") if menu_choice == 1: print "Add a login info card" site = raw_input("Site: ") id = raw_input("User ID: ") passcard = raw_input("Password: ") list[site] = id and passcard menu_choice = input("Choose an option: ") elif menu_choice == 2: print "Lookup a login info card" site = raw_input("Site: ") if site.has_key(site): print "The ID is: ",id(site) print "The password is: ",passcard(site) else: print site," was not found." menu_choice = input("Choose an option: ") elif menu_choice == 3: print "Remove a login info card" site = raw_input("Site: ") if sites.has_key(site): del numbers[site] else: print site," was not found." menu_choice = input("Choose an option: ") elif menu_choice == 4: print "Login Info" for x in site.keys(): print "Site: ",x," \tID: ",numbers[x]," \tPassword: ",numbers[x] print menu_choice = input("Choose an option: ") elif menu_choice == 5: filename = raw_input("Filename to save: ") save_login(list,filename) menu_choice = input("Choose an option: ") elif menu_choice == 6: filename == raw_input("Filename to load: ") load_login(list,filename) menu_choice = input("Choose an option: ") print "Have a nice day!" Thanks for the input so far, Nathan Pinno ----- Original Message ----- From: "Brian van den Broek" <[EMAIL PROTECTED]> Cc: <tutor@python.org> Sent: Tuesday, July 05, 2005 1:03 AM Subject: Re: [Tutor] What's wrong with this code? > Andre Engels said unto the world upon 05/07/2005 02:44: >>>From the program:: >> >> answer = raw_input("What is the password? ") >> while password != answer: >> print "The password is incorrect." > > <snip Andre's description of the problem with the above OP's code> > >> I think you intended to make it so that >> the program kept asking for passwords until the right one was given. >> This is done with: >> answer = raw_input("What is the password? ") >> while password != answer: >> print "The password is incorrect." >> answer = raw_input("What is the password? ") > > > A small thing, but I think that is better as: > > while True: > answer = raw_input("What is the password? ") > if password == answer: > break > print "The password is incorrect." > > It probably runs a bit slower, but who cares, as the bottleneck is in > the chair, not the chip. The advantage is that there is only one > statement of the prompt to alter if you wanted to change it later. > > But, I think this will be one where reasonable people can differ. > Andre's version does make the semantics of the loop somewhat more obvious. > > Best to all, > > Brian vdB > > <snip> > >> Andre Engels > > <snip OP's question> > > > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor > _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor