uncertain problem with if and list

This is the place for queries that don't fit in any of the other categories.

uncertain problem with if and list

Well, this will be a long read.
I am making a calculator for slope-intercept form equations, and I had a problem with code that worked in other places.
File "s_i_form.py", line 164
if slope in ['y', 'Y', 'yes', 'Yes', 'YES']:
^
SyntaxError: invalid syntax

... I would suggest using CTRL+F to find it, unless you want to read all 250 lines of code.
Code: Select all
`import timetwop = raw_input("Do you have two ordered pairs?")if twop.lower() in ['n', 'no']:   print "Don't use this program."if twop.lower() in ['y', 'yes']:   print "Ok."   slope = raw_input("Do you have the slope?")   if slope.lower() in ['n', 'no']:      print "Ok."      print "Input the first ordered pair."      x1 = int(raw_input("X > "))      y1 = int(raw_input("Y > "))      print "Input the second ordered pair."      x2 = int(raw_input("X > "))      y2 = int(raw_input("Y > "))      print """\n %d\$1\$ - %d\$2\$               ---------               %d\$1\$ - %d\$2\$      """ % (y1, y2, x1, x2)      b = raw_input("Do you have the b value?")      time.sleep(1)      #prints full equation      if b.lower() in ['n', 'no']:         y = int(raw_input("y= "))         m = int(raw_input("m= "))         x = int(raw_input("x= "))         b = int(raw_input("b= "))         if b == 0:            pos_neg = ''         elif b > 0:            pos_neg = '+'         elif b < 0:            pos_neg = '-'         if b == 0:            b1 = ''         else:            b1 = b         print "%d = %d(%d)%s%s" % (y, m, x, pos_neg, b1)      #solves for b and displays finished equation      if b.lower() in ['n', 'no']:         print "Ok."         print "1st ordered pair or second?"         ord_p = raw_input("> ")         if ord_p.lower in ['1st', 'first']:            y = y1            m = int(raw_input("m= "))            x = x1            print "%d = %d(%d)+b" % (y, m, x)            time.sleep(1)            if m != 0:                  if x != 0:                  mx = m * x                  print "%d = %d+b" % (y, mx)                  print "^That is a direct variation.^"                  if mx != 0:                        if mx < 0:                        pos_neg2 = '+'                        y_mx = y + mx                     elif mx > 0:                        pos_neg2 = '-'                        y_mx = y - mx                     print "%d%s%d = %d+b%s%d" % (y, pos_neg2, mx, mx, pos_neg2, mx)                     time.sleep(1)                     print "%d = b" % y_mx                     time.sleep(1)                     if y_mx == 0:                        pos_neg3 = '+'                     elif y_mx > 0:                        pos_neg3 = '+'                     elif y_mx < 0:                        pos_neg3 = ''                  else:                      print "%d = b" % y                     time.sleep(1)                     if y == 0:                        pos_neg3 = '+'                     elif y > 0:                        pos_neg3 = '+'                     elif y < 0:                        pos_neg3 = ''                     y_mx = y               elif x == 0:                  print "%d = b" % y                  time.sleep(1)                  if y == 0:                     pos_neg3 = '+'                  elif y > 0:                     pos_neg3 = '+'                  elif y < 0:                     pos_neg3 = ''                  y_mx = y            elif m == 0:               print "%d = b" % y               time.sleep(1)               if y == 0:                  pos_neg3 = '+'               elif y > 0:                  pos_neg3 = '+'               elif y < 0:                  pos_neg3 = ''               y_mx = y            print "%d = %d(%d)%s%d" % (y, m, x, pos_neg3, y_mx)            print "1st ordered pair or second?"         ord_p = raw_input("> ")         if ord_p.lower in ['2nd','second']:            y = y2            m = int(raw_input("m= "))            x = x2            print "%d = %d(%d)+b" % (y, m, x)            time.sleep(1)            if m != 0:                  if x != 0:                  mx = m * x                  print "%d = %d+b" % (y, mx)                  print "^That is a direct variation.^"                  if mx != 0:                        if mx < 0:                        pos_neg2 = '+'                        y_mx = y + mx                     elif mx > 0:                        pos_neg2 = '-'                        y_mx = y - mx                     print "%d%s%d = %d+b%s%d" % (y, pos_neg2, mx, mx, pos_neg2, mx)                     time.sleep(1)                     print "%d = b" % y_mx                     time.sleep(1)                     if y_mx == 0:                        pos_neg3 = '+'                     elif y_mx > 0:                        pos_neg3 = '+'                     elif y_mx < 0:                        pos_neg3 = ''                  else:                      print "%d = b" % y                     time.sleep(1)                     if y == 0:                        pos_neg3 = '+'                     elif y > 0:                        pos_neg3 = '+'                     elif y < 0:                        pos_neg3 = ''                     y_mx = y               elif x == 0:                  print "%d = b" % y                  time.sleep(1)                  if y == 0:                     pos_neg3 = '+'                  elif y > 0:                     pos_neg3 = '+'                  elif y < 0:                     pos_neg3 = ''                  y_mx = y            elif m == 0:               print "%d = b" % y               time.sleep(1)               if y == 0:                  pos_neg3 = '+'               elif y > 0:                  pos_neg3 = '+'               elif y < 0:                  pos_neg3 = ''               y_mx = y            print "%d = %d(%d)%s%d" % (y, m, x, pos_neg3, y_mx   if slope.lower() in ['y', 'yes']:      print "Ok."      b = raw_input("Do you have the b value?")      time.sleep(1)      #prints full equation      if b.lower() in ['y', 'yes']:                  y = int(raw_input("y= "))         m = int(raw_input("m= "))         x = int(raw_input("x= "))         b = int(raw_input("b= "))         if b == 0:            pos_neg = ''         elif b > 0:            pos_neg = '+'         elif b < 0:            pos_neg = '-'         if b == 0:            b1 = ''         else:            b1 = b         print "%d = %d(%d)%s%s" % (y, m, x, pos_neg, b1)      #solves for b and displays finished equation      if b.lower() in ['n', 'no']:         print "Ok."         y = int(raw_input("y= "))         m = int(raw_input("m= "))         x = int(raw_input("x= "))         print "%d = %d(%d)+b" % (y, m, x)         time.sleep(1)         if m != 0:               if x != 0:               mx = m * x               print "%d = %d+b" % (y, mx)               time.sleep(1)               print "^That is a direct variation.^"               if mx != 0:                  if mx < 0:                     pos_neg2 = '+'                     y_mx = y + mx                  elif mx > 0:                     pos_neg2 = '-'                     y_mx = y - mx                  print "%d%s%d = %d+b%s%d" % (y, pos_neg2, mx, mx, pos_neg2, mx)                  time.sleep(1)                  print "%d = b" % y_mx                  time.sleep(1)                  if y_mx == 0:                     pos_neg3 = '+'                  elif y_mx > 0:                     pos_neg3 = '+'                  elif y_mx < 0:                     pos_neg3 = ''               else:                   print "%d = b" % y                  time.sleep(1)                  if y == 0:                     pos_neg3 = '+'                  elif y > 0:                     pos_neg3 = '+'                  elif y < 0:                     pos_neg3 = ''                  y_mx = y            elif x == 0:               print "%d = b" % y               time.sleep(1)               if y == 0:                  pos_neg3 = '+'               elif y > 0:                  pos_neg3 = '+'               elif y < 0:                  pos_neg3 = ''               y_mx = y         elif m == 0:            print "%d = b" % y            time.sleep(1)            if y == 0:               pos_neg3 = '+'            elif y > 0:               pos_neg3 = '+'            elif y < 0:               pos_neg3 = ''            y_mx = y         print "%d = %d(%d)%s%d" % (y, m, x, pos_neg3, y_mx)`

python version 2.7.1
Last edited by Mekire on Sat Nov 30, 2013 7:37 am, edited 1 time in total.
Reason: Locked
Python 2.7
Mac Mini (Desktop/server)
Macbook Air
Laptop w/ Ubuntu 14.04
mckryall

Posts: 116
Joined: Sat Nov 23, 2013 6:13 pm

Re: uncertain problem with if and list

You forgot a parenthesis on the line directly before the one listed in the Traceback.

This:
Code: Select all
`print "%d = %d(%d)%s%d" % (y, m, x, pos_neg3, y_mx`
Should be this:
Code: Select all
`print "%d = %d(%d)%s%d" % (y, m, x, pos_neg3, y_mx)`

-Mek
• Use code tags when posting code.
• Include any errors with your post (in code tags).
• Make examples the minimum length to demonstrate your issue.

Mekire

Posts: 1586
Joined: Thu Feb 07, 2013 11:33 pm
Location: Tucson, Arizona

Re: uncertain problem with if and list

Thanks. Still not used to the way it returns errors.
Last edited by Mekire on Sat Nov 30, 2013 7:37 am, edited 1 time in total.
Reason: Locked.
Python 2.7
Mac Mini (Desktop/server)
Macbook Air
Laptop w/ Ubuntu 14.04
mckryall

Posts: 116
Joined: Sat Nov 23, 2013 6:13 pm