def even_numbers(n1, n2): # 你的代碼在這里 lst_evennumbers=[] for x in rang(n1, n2): testnum=x/2 if type(testnum) == type(int()) lst_evennumbers.append(x)
return lst_evennumbers
def even_numbers(n1, n2): # 你的代碼在這里 lst_evennumbers=[]
for x in rang(n1, n2):
testnum=x/2
if testnum % 2 == 0
lst_evennumbers.append(x)
return lst_evennumbers
uj5u.com熱心網友回復:
嘗試在您的 def even_numbers 函式中進行以下更改:
for x in range(n1, n2):
testnum = x
if testnum % 2 == 0:
lst_evennumbers.append(x)
return lst_evennumbers
uj5u.com熱心網友回復:
解決方案
您的第一個問題是您的 if 陳述句執行不正確。似乎您想使用一個三元 if 陳述句,else即使您不想回傳任何要回傳的東西,也需要一個 if 陳述句,如果您確實想要一個空的 else,只需\在 之后使用反斜杠()else:
這是三元 if stsemnt 的形式
<var> = n if n == <condition> else \
其次,要檢查是否是偶數,您應該檢查除以 2 是否有任何余數(如果它是 則不是int)。
方法如下:
testnum if x % 2 == 0 else \
這是所有更正后的代碼:
def even_numbers(n1, n2): # your code here
lst_evennumbers=[]
for x in range(n1, n2):
testnum = x if x % 2 == 0 else \
lst_evennumbers.append(x)
return lst_evennumbers
def even_numbers(n1, n2): # your code here
lst_evennumbers=[]
for x in range(n1, n2):
if testnum % 2 == 0:
lst_evennumbers.append(x)
return lst_evennumbers
或者,如果您更喜歡正常的 if 陳述句:
def even_numbers(n1, n2): # your code here
lst_evennumbers=[]
for x in range(n1, n2):
if type(testnum) == int():
testnum= x/2
lst_evennumbers.append(x)
return lst_evennumbers
def even_numbers(n1, n2): # your code here
lst_evennumbers=[]
for x in range(n1, n2):
testnum=x/2
if testnum % 2 == 0:
lst_evennumbers.append(x)
return lst_evennumbers
uj5u.com熱心網友回復:
您的范圍將不必要地包括奇數。
試試這個:
def even_numbers(n1, n2):
global lst_evennumbers
if n1 % 2 != 0:
n1 = 1
lst_evennumbers = [e for e in range(n1, n2, 2)]
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/415521.html
標籤:
