簡體   English   中英

為什么即使“if”為真,“else”語句也會執行?

[英]Why does the 'else' statement execute even though the 'if' was true?

我不知道為什么 output 評估為“?” 而不是 int(3)。 有人可以解釋一下嗎? 運行 Python 3.8。

number1=3
number2=1
operator="*"
if operator =="+":
    answer=number1+number2
if operator =="-":
    answer=number1-number2
if operator =="*":
    answer=number1*number2
if operator =="/":
    answer=number1/number2
else:
    answer="?"
print(answer)

我嘗試搜索 function 但找不到任何解決我問題的方法。 謝謝你的幫助!

if連續運行一些。 else語句是最后一個if的一部分,在 prev ifs中無效。 嘗試這個 -

if operator =="+":
    answer=number1+number2
elif operator =="-":
    answer=number1-number2
elif operator =="*":
    answer=number1*number2
elif operator =="/":
    answer=number1/number2
else:
    answer="?"

最后一個 else 語句將運行 while operator != "/" 。你應該使用elif語句

正確的路:

number1=3
number2=1
operator="*"
if operator =="+":
    answer=number1+number2
elif operator =="-":
    answer=number1-number2
elif operator =="*":
    answer=number1*number2
elif operator =="/":
    answer=number1/number2
else:
    answer="?"
print(answer)

暫無
暫無

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

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