這應該很容易,但我做不到。
如果號碼在串列中,則回傳True,但如果沒有,則將號碼添加到串列中。
i=4
list=[2,3,5]
def check(i,list):
if i in list:
return True
else:
return list.append(i)
print (list)
我想要的結果: [2,3,5,4]
我得到的結果: [2,3,5]
uj5u.com熱心網友回復:
您沒有呼叫該函式,因此我在列印之前添加了一行呼叫該函式。我還更改了代碼以使功能更簡單。
更重要的是,您應該避免使用預定義的關鍵字,例如list(參見https://www.programiz.com/python-programming/keyword-list)。我將變數名更改為 l,而不是list.
i = 4
l = [2, 3, 5]
def check(i, l):
if i not in l:
#return l.append(i) # It works, but you do not need to return the list.
l.append(i) # It also works.
check(i, l)
print(l)
# [2, 3, 5, 4]
uj5u.com熱心網友回復:
該串列沒有更新,因為您從未呼叫過您的函式。您應該至少呼叫一次函式以添加數字“4”。
如果你真的需要回傳一個布林值,你可以這樣做:
number = 4
number_list = [2, 3, 5]
def check_number_in_list(number, number_list):
if number in number_list:
number_list.append(i)
return True
return False
check_number_in_list(number, number_list)
print(number_list)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/410515.html
標籤:
