a = input("enter your first name ")
for i in range(len(a)):
for space in range(len(a)-i):
print(end=' '*len(a))
for j in range(2*i 1):
print(a,end = '')
print()
print()
if a == 'Allahyar' or 'allahyar':
print(a ' is a boomer')
elif a != 'Allahyar' or 'allahyar':
print(a ' has been sent to the pyramid realm')
在這段代碼中,if 陳述句無論如何都會執行,它完全忽略了 elif 陳述句。知道為什么嗎?
uj5u.com熱心網友回復:
使用邏輯運算子組合兩個條件的正確語法or。
if var == "str1" or var == "str2":
你也可以這樣做
if var in ["str1","str2"]:
uj5u.com熱心網友回復:
我將擴展我的評論。你得到 if 條件總是觸發的原因是因為你認為你編碼的內容應該等同于:“變數 a 等于 'Allahyar' 或 'allahyar' ”,但實際上它會被評估為兩個單獨的陳述句,如所以(為清楚起見添加了括號):
(a == 'Allahyar') or (bool('allahyar'))
非空字串 'allahyar' 將始終計算為,True因此該組合運算式不可能為False。
uj5u.com熱心網友回復:
正如@pavel 所說,正確的代碼是?? == '????????????????' ???? ?? == '??????????????????????' 我只是弄糊涂了,所以我做了一個 elif 宣告,但實際代碼是這個 a = 輸入(“輸入你的名字”)
for i in range(len(a)):
for space in range(len(a)-i):
print(end=' '*len(a))
for j in range(2*i 1):
print(a,end = '')
print()
print()
if a == 'Allahyar' or a == 'allahyar':
print(a ' is a boomer')
else:
print(a ' has been sent to the pyramid realm')
elif 陳述句沒有理由只是無緣無故地撰寫額外的代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/451705.html
上一篇:新列-來自多行和多列的多個條件
