Python 减号和加号函数颠倒了?

-2 python numbers calculator

今天我安装了python,我对这个很好奇。我创建了这个小的“计算器”东西,如果你甚至可以称之为......

first_number = input("First Number: ")
second_number = input("Second Number: ")
sign = input("Sign: ")
difference = int(first_number) + int(second_number)
summary = int(first_number) - int(second_number)



if not sign.find("-"):
    print(summary)
if sign.find("-"):
    print(difference)

Run Code Online (Sandbox Code Playgroud)

它有效......当您插入“-”作为符号时,它会执行 num1 - num2

我的问题是:

为什么会这样

difference = int(first_number) + int(second_number)
summary = int(first_number) - int(second_number)
Run Code Online (Sandbox Code Playgroud)

工作???即使数字之间包含“+”号,差异部分也能正常工作和打印(num1 - num2)???

小智 6

Python 的.find函数返回字符串中找到该字符的索引。在这里,如果您传入 string '-',它将返回 0,因为该字符-位于第 0 个索引处。

在评估 True/False 语句时,Python 评估0False. 这意味着对于sign='-',您的代码将打印summary

要解决此问题,请改用in或相等。例如:

if sign == '-':
 <do this>

OR

if '-' in sign:
 <do this>
Run Code Online (Sandbox Code Playgroud)