亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我怎樣才能解決我的Python代碼中的這個錯誤?

我怎樣才能解決我的Python代碼中的這個錯誤?

叮當貓咪 2023-08-15 16:48:03
def almost_there(n):     list=[x for x in range(90,111)]    list_1=[i for i in range(190,211)]    if n in list or list_1:         return True     else:        return Falseprint(almost_there(1))>>> True為什么即使值為 1,它也給出 true?
查看完整描述

3 回答

?
元芳怎么了

TA貢獻1798條經驗 獲得超7個贊

試試這個。


def almost_there(n): 

    list_1 = [x for x in range(90,111)]

    list_2 = [i for i in range(190,211)]

    

    if n in list_1 or n in list_2: 

        return True 

    else:

        return False


print(almost_there(1))

# False

檢查 n 是否在list_1或 中list_2。如果您if n in list_1 or list_2這樣做,則只會檢查是否ninlist_1和 not list_2。

還有一件事不要用作list變量名稱。這將覆蓋該list()函數。


查看完整回答
反對 回復 2023-08-15
?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

由于條件: if n in list or list_1:

當你有 or 條件時,條件的兩個部分都應該是False條件為 False

在您的情況下:
n is not in list是 False ,但list_1不為空并且是 True 。

所以你有 if False or True: - 這返回 True (滿足條件)


查看完整回答
反對 回復 2023-08-15
?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

問題出在你的if陳述中。

if n in list or list_1: 計算結果為: 1) if n in list(假) or2) if list_1(真)

現在第二個參數總是會是True因為它是一個填充列表。

正確的陳述方式if應該是:if (n in list or n in list_1)

計算結果為if1) n in list(假) or2) n in list_1(假)

這樣你就會得到預期的結果。


查看完整回答
反對 回復 2023-08-15
  • 3 回答
  • 0 關注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號