我只是在復習一些 python 基礎知識,并撰寫了一些我認為可以列印串列中每個偶數元素的代碼:
def print_evens(numbers):
"""Prints all even numbers in the list
"""
length = len(numbers)
i = 0
while i < length:
if numbers[i] % 2 == 0:
print (numbers[i])
i = 1
print_evens([1, 2, 3, 4, 5, 6])
我不知道為什么,但回圈沒有超過結束條件,只是不斷地來回回圈。我覺得我錯過了一些非常簡單的東西。
如果我不得不猜測問題出在哪里,我會說它與 if 陳述句有關,盡管我不確定它會有什么問題。
uj5u.com熱心網友回復:
問題是當你從1變數開始時i永遠不會更新,因為它不是偶數。所以解決方案是在i沒有條件的情況下增加每次:
while i < length:
if numbers[i] % 2 == 0:
print (numbers[i])
i = 1
uj5u.com熱心網友回復:
如果您不想打擾索引,可以直接在串列項上回圈。
def print_evens(numbers):
"""Prints all even numbers in the list
"""
for n in numbers:
if n % 2 == 0:
print(n)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/530438.html
標籤:Python循环
