Hello all, I am still very new to Python and am working on conditionals. Im stuck on this problem and I'm sorry if this is something really simple that I'm missing but its been really frustrating me. Here's a copy of the problem, and sorry if its really long but its the end question about the logically equivalent expressions I'm stuck on. Anyways, heres a copy of the problem
----------------------------------------------------------- To better understand boolean expressions, it is helpful to construct truth tables. Two boolean expressions are logically equivalent if and only if they have the same truth table. The following Python script prints out the truth table for the any boolean expression in two variables: p and q: expression = raw_input("Enter a boolean expression in two variables, p and q: ") print " p q %s" % expression length = len( " p q %s" % expression) print length*"=" for p in True, False: for q in True, False: print "%-7s %-7s %-7s" % (p, q, eval(expression)) You will learn how this script works in later chapters. For now, you will use it to learn about boolean expressions. Copy this program to a file named p_and_q.py, then run it from the command line and give it: p or q, when prompted for a boolean expression. You should get the following output: p q p or q ===================== True True True True False True False True True False False False Now that we see how it works, let’s wrap it in a function to make it easier to use: def truth_table(expression): print " p q %s" % expression length = len( " p q %s" % expression) print length*"=" for p in True, False: for q in True, False: print "%-7s %-7s %-7s" % (p, q, eval(expression)) We can import it into a Python shell and call truth_table with a string containing our boolean expression in p and q as an argument: >>> from p_and_q import * >>> truth_table("p or q") p q p or q ===================== True True True True False True False True True False False False >>> Use the truth_table functions with the following boolean expressions, recording the truth table produced each time: not(p or q) p and q not(p and q) not(p) or not(q) not(p) and not(q) Which of these are logically equivalent? ------------------------------------------------- Whenever I try to enter the expressions listed into the prompt it tells me the string object is not callable.... _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor