在每個「Elif或Else」語句之後,Python完全忽略了「For statemnt」,我已經通過在其中放置了打印行來調試它,沒有打印任何內容,我在for語句和Elif語句內部打印行,打印的東西,我一直在尋找,我不知道該怎麼做。爲什麼我的「For」語句被忽略?以及如何解決它?
爲什麼我的「for」語句被忽略?以及如何修復它/
def horizental_checker(lst1,lst2,lst3,lst4,place_checker,lst5=[],lst6=[],lst7=[]): #place_checker checks if the lst is before the fourth column
count = 0
if place_checker == 1 or place_checker == 20:
for a,b,c,d in zip(lst1,lst2,lst3,lst4):
a = int(a)
b = int(b)
c = int(c)
d = int(d)
return (a * b * c * d)
elif place_checker == 2 or place_checker == 19:
print "TESSSSSST"
for e,a,b,c,d in zip(lst5,lst1,lst2,lst3,lst4):
print a,b,c,d,e
a = int(a)
b = int(b)
c = int(c)
d = int(d)
e = int(e)
count = (a * b * c * d)
print "my count is %i" % count
if (e * a * b * c) > count:
count = (e * a * b * c)
print "my second count is %i" % count
return count
elif place_checker == 3 or place_checker == 18:
for e,f,a,b,c,d in zip(lst5,lst6,lst1,lst2,lst3,lst4):
a = int(a)
b = int(b)
c = int(c)
d = int(d)
count = (a * b * c * d)
if (e * a * b * c) > count:
count = (e * a * b * c)
if (f * e * a * b) > count:
count = (f * e * a * b)
return count
else:
for e,f,g,a,b,c,d in zip(lst5,lst6,lst7,lst1,lst2,lst3,lst4):
a = int(a)
b = int(b)
c = int(c)
d = int(d)
count = (a * b * c * d)
if (e * a * b * c) > count:
count = (e * a * b * c)
if (f * e * a * b) > count:
count = (f * e * a * b)
if (g * f * e * a) > count:
count = (g * f * e * a)
return count
請修復您的縮進。 – IanAuld 2014-11-01 06:17:02
indention在編輯器上是固定的,雖然這裏沒有修正 - for循環甚至沒有啓動,我希望它檢查place_checker == 1,如果place_checker = 1,從每個4列表中獲取第一個元素,並將它們相乘一起然後返回最高結果 – ArandomUserNameEG 2014-11-01 06:25:42