2013-03-31 32 views
0

從我的previous post接收到phihag所需的幫助後,我注意到我沒有得到所有偶數的結果。但是,我繼續收到第47行無效的語法錯誤。在pep8返回後,調試ipython,但我仍然有語法錯誤

else: # x, y, and z are even 

可能是什麼問題?

#!/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 ', x 
      elif y > z and y > x: # y is the biggest odd 
       print 'y is the biggest odd ', y 
      elif z > x and z > y: # z is the biggest odd 
       print 'z is the biggest odd ', z 

     else: # z is even 
      if x > y: # x is the biggest odd 
       print 'x is the biggest odd ', x 
      else: # y is the biggest odd 
       print 'y is the biggest odd ', 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 ', x 
      else: # z is the biggest odd 
       print 'z is the biggest odd ', z 
     else: # y,z are even and x is the biggest odd 
      print 'x is the biggest odd ', 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 ', y 
     else: # z is the biggest odd 
      print 'z is the biggest odd ', z 
    else: # x and y are even 
     if z % 2 != 0: # z is the biggest odd 
      print 'z is the biggest odd ', 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 ', y 
    else: # x, y, and z are even 
     if z % 2 == 0: 
      print 'x, y, and z are even.' 

print 'finished' 

回答

2

你有兩個else s的相同的縮進水平,一前一後,這是無效的。你的意思是其中一個是elif

+0

好的我不知道。我會嘗試elif,看看它是怎麼回事。我做了改變,但是我有同樣的錯誤 – dustin

+0

我做了改變,但仍然沒有運氣的錯誤。 – dustin

+0

你可以發佈你的新代碼嗎? – Ari

相關問題