我正在嘗試用 Python 創建一個計算器,它只給出輸入的第一個數字的平方。num1 = float(input("Enter the first number: "))operator = input("Enter an operator: ")num2 = float(input("Enter the second number: "))if operator == "+": print(num1 + num2)elif operator == "-": print(num1 - num2)elif operator == "*": print(num1 * num2)elif operator == "/": print(num1 / num2)elif operator == "^": print(num1 * num1) and print(num2 * num2)else: print("Invalid operator")
1 回答

紅糖糍粑
TA貢獻1815條經驗 獲得超6個贊
Python 在邏輯條件中使用短路- 簡而言之,如果它確定有足夠的信息,以便整個條件是True或False它不會繼續執行條件語句中的其余代碼 - 所以在你的情況下并不是所有代碼你打算被處決。
為您的代碼執行您想要的操作的一個簡單修復方法是拆分print語句:
num1 = float(input("Enter the first number: "))
operator = input("Enter an operator: ")
num2 = float(input("Enter the second number: "))
if operator == "+":
print(num1 + num2)
elif operator == "-":
print(num1 - num2)
elif operator == "*":
print(num1 * num2)
elif operator == "/":
print(num1 / num2)
elif operator == "^":
print(num1 * num1)
print(num2 * num2)
else:
print("Invalid operator")
添加回答
舉報
0/150
提交
取消