今天我安装了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 评估0为False. 这意味着对于sign='-',您的代码将打印summary。
要解决此问题,请改用in或相等。例如:
if sign == '-':
<do this>
OR
if '-' in sign:
<do this>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41 次 |
| 最近记录: |