debugging invalid syntax error iPython

ⅰ亾dé卋堺 提交于 2019-12-11 17:58:21

问题


I am greeted with the following syntax error after I execute the program thanks thkang from this post

You entered:  ./#
Expanded to:  ./#
=================
File "./largestoddxyz.py", line 43
else: #x and z are even
   ^
SyntaxError: invalid syntax

Here is the code:
I am new to using Python and tried to fix the issue, but unfortunately, I wasn't able to. Hopefully someone here can help me.

#!/usr/bin/env python
# This program exmamines variables x, y, and z 
# and prints the largest odd number among them

import sys

x,y,z = map(int,sys.argv[1:4])

if x%2 != 0:
  if y%2 != 0:
    if z%2 != 0:
      if x > y and x > z: #x is the biggest odd
        print 'x is the biggest odd ' and x
      elif y > z and y > x: #y is the biggest odd
        print 'y is the biggest odd ' and y
      elif z > x and z > y: #z is the biggest odd
        print 'z is the biggest odd ' and z

    else: #z is even
      if x > y: #x is the biggest odd
        print 'x is the biggest odd ' and x
      else: #y is the biggest odd
        print 'y is the biggest odd ' and y

  else: #y is even
      if z%2 != 0: #z is odd
        if x > z: #x is the biggest odd
          print 'x is the biggest odd ' and x
        else: #z is the biggest odd
          print 'z is the biggest odd ' and z
      else: #y,z are even and x is the biggest odd
        print 'x is the biggest odd ' and x

else: #x is even
  if y%2 != 0 and z%2 != 0: #y,z is odd
      if y > z: #y is the biggest odd
        print 'y is the biggest odd ' and y
      else: #z is the biggest odd
        print 'z is the biggest odd ' and z
  else: #x and y are even
    if z%2 != 0: #z is the biggest odd
      print 'z is the biggest odd ' and z
  else: #x and z are even
    if y%2 != 0: #y is odd
      if z%2 = 0: #z is even
        print 'y is the biggest odd ' and y

print 'finished'

回答1:


The indenting is wrong; note

  else: #x and y are even
    if z%2 != 0: #z is the biggest odd
      print 'z is the biggest odd ' and z
  else: #x and z are even

You want to indent the second else and everything below it. You may want to run pep8 to verify that everything is in order, i.e. that you're using correct spacing and don't mix tabs and space characters.

Additionally, in the line

if z%2 = 0: #z is even

you want the comparison ==, not the assignment =.



来源:https://stackoverflow.com/questions/15735512/debugging-invalid-syntax-error-ipython

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!