[英]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.