问题
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