嗨,我學習 python 并有疑問?
如果我輸入喬,它會列印找到但未找到。如果我輸入標記它只列印找到,
其他名稱或我輸入的任何內容都正確地說,未找到,但我想知道為什么當我輸入喬時它也列印未找到(其他功能)
a, b = 'joe','mark'
name = input("enter a name:")
if name == a:
print("found")
if name == b:
print("found")
else:
print("not found")
*注意我也嘗試這樣寫代碼
If name == a or b:
Print("found")
Else:
Print("not found")
謝謝我只有幾個小時學習python
uj5u.com熱心網友回復:
您可以通過以下幾種方式做到這一點:
一,正如@Nin17 所說,只需將第二個 if 更改為 elif:
a, b = 'joe','mark'
name = input("enter a name:")
if name == a:
print("found")
elif name == b:
print("found")
else:
print("not found")
第二種方法是使用or運算子,就像您嘗試做的那樣。請記住,運算子兩側的兩個引數都or應該是布林值:
a, b = 'joe','mark'
name = input("enter a name:")
if name == a or name == b:
print("found")
else:
print("not found")
uj5u.com熱心網友回復:
“Else”指的是第二種情況。它不受尊重,因此顯示代碼塊“Else”的結果。去做就對了:
a, b = 'joe','mark'
name = input("enter a name:")
if name == a:
print("found")
elif name == b:
print("found")
else:
print("not found")`
uj5u.com熱心網友回復:
你寫的:
else關鍵字只會試圖找到與最后一個矛盾的地方if。因此,您在這里有兩個條件塊:一個由第一個if單獨組成的組,以及一個由第二個if和else.
怎么了:
知道喬和其他任何名字一樣,每個街區只會嘗試一次機會。所以Joe在第一個塊中為 True 并列印“找到”,然后在第二個塊中為 False 并列印“未找到”。
如何糾正它:
如果你想把這兩個條件塊合并為一個,這樣喬就不會在第二個中嘗試他的機會,將第二個if替換為if,elif這基本上意味著else if。
uj5u.com熱心網友回復:
a, b = 'joe', 'mark'
name = input("enter a name:")
if a in name or b in name:
print("found")
else:
print("not found")
為此使用運算子“in”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/496706.html
