我開始用Python大約幾周的時間學習編程 ,我遇到了一些麻煩。 下面的代碼是一個小程序,檢查是否有一個即使在列表編號,如果找到的第一個偶數,它打破了循環:if/else while循環內部的縮進
numbers = [1, 3, 5]
position = 0
while position < len(numbers):
number = numbers[position]
if number % 2 == 0:
print('Found even number', number)
break
position += 1
else: # break not called
print('No even number found')
,打印錯誤:
File "test.py", line 11
else: # break not called
^
SyntaxError: invalid syntax
那「而」程序運行得很好是一個壓痕問題,如果我之前的「其他」等與對齊去除標籤:
while position < len(numbers):
number = numbers[position]
if number % 2 == 0:
print('Found even number', number)
break
position += 1
else:
print('No even number found')
# Prints: No even number found
我的問題是,爲什麼「ELS e'需要與'while'對齊,而不是與循環內的'if'對齊?
這就是我想認識的人! Thanx提前!
'position + = 1'沒有正確縮進。 – Li357
@AndrewL。難道它不是真的需要縮進嗎? – baranskistad
@bjskistad沒有一直讀完這個問題,不確定OP是否想在if/else之外擁有'position + = 1'。是的,在其他地方縮進打印電話。 – Li357