[Tutor] Why does invalid syntax pop up?

Nathan Pinno falcon3166 at hotmail.com
Fri Jul 8 22:14:04 CEST 2005


  Thanks, Danny and all.

  Adjusted the code, here is the newest code and error:

  # This is the code for a password protected program to store passwords.
  password = "hello"
  print "The Password Program"
  print "Copyright 2005 Nathan Pinno."
  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_command():
      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_command(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_command(site,filename):
      out_file = open(filename,"w")
      for x in site.keys():
          out_file.write(x+","+sites[x]+"\n")
      out_file.close()

  def add_login_command(site,filename):
      print "Add a login info card"
      site = raw_input("Site: ")
      id = raw_input("User ID: ")
      passcard = raw_input("Password: ")
      sitelist[site] = [id,passcard]

  def lookup_login_command(site,filename):
      print "Lookup a login info card"
      site = raw_input("Site: ")
      if sitelist.has_key(site):
          print "The ID is: ",sitelist[site][0]
          print "The password is: ",sitelist[site][1]
      else:
          print site," was not found."

  def remove_login_command(site,filename):
      print "Remove a login info card"
      site = raw_input("Site: ")
      if sites.has_key(site):
          del sitelist[site]
      else:
          print site," was not found."

  def display_login_command(site,filename):
      print "Login Info"
      for x in site.keys():
          print "Site: ",sitelist," \tID: ",sitelist[site]," \tPassword: 
",sitelist[site]
      print

  menu_choice = "0"
  list = {}
  print "Welcome to the second half of the program."
  main_menu_command()
  while menu_choice != "9":
      menu_choice = raw_input("Choose an option: ")
      if menu_choice == "1":
          add_login_command()
      elif menu_choice == "2":
          lookup_login_command()
      elif menu_choice == "3":
          remove_login_command()
      elif menu_choice == "4":
          display_login_command()
      elif menu_choice == "5":
          filename = raw_input("Filename to save: ")
          save_login_command()
      elif menu_choice == "6":
          filename = raw_input("Filename to load: ")
          load_login_command()
  print "Have a nice day!"

  Error Message:
  Traceback (most recent call last):
    File "D:\password.py", line 73, in ?
      add_login_command()
  TypeError: add_login_command() takes exactly 2 arguments (0 given)

  How do I fix it so that it runs properly, and any other errors that have 
to be fixed?
  ----- Original Message ----- 
  From: "Danny Yoo" <dyoo at hkn.eecs.berkeley.edu>
  To: "Nathan Pinno" <falcon3166 at hotmail.com>
  Cc: <tutor at python.org>
  Sent: Thursday, July 07, 2005 2:58 PM
  Subject: Re: [Tutor] Why does invalid syntax pop up?


  >
  >
  > On Thu, 7 Jul 2005, Nathan Pinno wrote:
  >
  >>   Here is another error message:
  >>
  >>   Traceback (most recent call last):
  >>     File "D:\password.py", line 69, in ?
  >>       main_menu()
  >>   NameError: name 'main_menu' is not defined
  >
  >
  > Hi Nathan,
  >
  > The error message is correct: there is no "main_menu()" function.  There
  > is, however, a "main_menu_command()" function that's defined right at 
the
  > top.  Did you mean that instead?
  >
  > And just out of curiosity, when did you get this NameError message?
  > Before the SyntaxError, or after?  The reason I ask is because if you're
  > still hitting SyntaxError, there should no be possible way for the 
program
  > to even get to NameError --- a SyntaxError is a show-stopper.
  >
  > Is the SyntaxError still showing up?  As far as I could tell, your code
  > looked fine from a syntactic point of view.
  >
  >
  >
  > Best of wishes to you!
  >
  >


More information about the Tutor mailing list