<table cellspacing='0' cellpadding='0' border='0' ><tr><td valign='top' style='font: inherit;'><br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><div id="yiv783367488"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit;" valign="top">Hi I am making an addressBook program now, and you know ....... another error message , the program doesn't work. This is the code :<br><hr style="width: 100%; height: 2px;"><br># Loading the addressbook<br>filename = "addbook.dat"<br><br>def readBook(book)<br>&nbsp;&nbsp;&nbsp; import os<br>&nbsp;&nbsp;&nbsp; if os.path.exists(filename):<br>&nbsp;&nbsp;&nbsp; store = open(filename,'r')<br>&nbsp;&nbsp;&nbsp; for line in store:<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; name =
 line.rstrip()<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; entry = store.next().rstrip()<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; book[name] = entry<br>&nbsp;&nbsp;&nbsp; store.close()<br><br># Saving the address book<br>def saveBook(book):<br>&nbsp;&nbsp;&nbsp; store = open(filename,"w")<br>&nbsp;&nbsp;&nbsp; for name,entry in book.items():<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; store.write(name +
 '\n')<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; store.write(entry + '\n')<br>&nbsp;&nbsp;&nbsp; store.close()<br><br># Getting User Input <br>def getChoice(menu):<br>&nbsp;&nbsp;&nbsp; print menu<br>&nbsp;&nbsp;&nbsp; choice = int(raw_input("Select a choice(1-4): "))<br>&nbsp;&nbsp;&nbsp; return choice<br><br># Adding an entry<br>def addEntry(book):<br>&nbsp;&nbsp;&nbsp; name = raw_input("Enter a name: ")<br>&nbsp;&nbsp;&nbsp; entry = raw_input("Enter a street, town and phone number: ")<br>&nbsp;&nbsp;&nbsp; book[name] = entry<br><br># Removing an entry<br>def removeEntry(book):<br>&nbsp;&nbsp;&nbsp; name = raw_input("Enter a name: ")<br>&nbsp;&nbsp;&nbsp; del(book[name])<br><br>#Finding an Entry<br>def findEntry(book):<br>&nbsp;&nbsp;&nbsp; name = raw_input("Enter a name: ")<br>&nbsp;&nbsp;&nbsp; if name in book:<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; print name, book[name]<br>&nbsp;&nbsp;&nbsp; else: print "Sorry, no entry for: ", name<br><br>#
 Quitting the program<br>def main():<br>&nbsp;&nbsp;&nbsp; theMenu = '''<br>&nbsp;&nbsp;&nbsp; 1) Add Entry<br>&nbsp;&nbsp;&nbsp; 2) Remove Entry<br>&nbsp;&nbsp;&nbsp; 3) Find Entry<br>&nbsp;&nbsp;&nbsp; 4) Quit and save<br>&nbsp;&nbsp;&nbsp; '''<br>&nbsp;&nbsp;&nbsp; theBook = {}<br>&nbsp;&nbsp;&nbsp; readBook(theBook)<br>&nbsp;&nbsp;&nbsp; choice = getChoice(theMenu)<br>&nbsp;&nbsp;&nbsp; while choice != 4:<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if choice == 1:<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; addentry(theBook)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; elif choice == 2:<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; removeEntry(theBook)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; elif choice == 3:<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; findEntry(theBook)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; else: print "Invalid choice, try again"<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; choice =
 getChoice(theMenu)<br>&nbsp;&nbsp;&nbsp; saveBook(theBook)<br><br># Call the main function<br>if __name__ == "__main__":<br>&nbsp;&nbsp;&nbsp; main()<br><hr style="width: 100%; height: 2px;">Help me guy's .... Some enlightenment and explanation about the wrong and how this program works&nbsp; ...... I got this code from Alan Gauld tutorial in Handling Files part.<br><br>And o...yeah the error message is :<br><br>&nbsp;File "addressbook.py", line 4<br>&nbsp;&nbsp;&nbsp; def readBook(book)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ^<br>SyntaxError: invalid syntax<br></td></tr></tbody></table><br>



      </div></blockquote></td></tr></table><br>