簡體   English   中英

我的 if 和 else 語句一直評估為假,但在 Python 中它是真的

[英]My if and else statement keeps evaluating as false but it is true in Python

我的字典嵌套在一個列表中

coins = [
{"Ethereum": "ETH-USD",
 "Bitcoin": "BIT-USD",
 "Solona": "SOL-USD"}
]

我的 function

def new():

search = input('Enter a coin\n').capitalize()
querystring = {"q": " ", "hl": "en", "gl": "US"}
if search not in coins:
    print('Please enter a valid coin')
else:
    querystring["q"] = search

我的輸入在列表中,但由於某種原因它返回錯誤並返回

print('Please enter a valid coin')

當我這樣做時出於某種奇怪的原因

if search **in** coins:
    print('Please enter a valid coin')
else:
    querystring["q"] = search

我得到了我正在尋找的結果,但那是因為它在 if 語句的開頭仍然被評估為假。 我覺得我在看一些小的東西,或者我對 if 和 else 語句的了解可能有點缺陷,因為我在編寫 if 和 else 語句時經常遇到這個問題。

coins = [
{"Ethereum": "ETH-USD",
 "Bitcoin": "BIT-USD",
 "Solona": "SOL-USD"}
]

在這里,您聲明一個包含字典的列表。 當您x in coins ,如果x是一個字符串,那么表達式將始終為 false,因為coins只包含一個字典,而不是一個字符串。 字符串永遠不能等於字典。

要解決此問題,請刪除括號[] ,以便您只有字典而不是帶有字典的列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM