Python 减号和加号函数颠倒了吗?
Python Minus and Plus Functions reversed?
今天我安装了 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)
并且有效...当您插入“-”作为符号时,它会执行 num1 - num2
我的问题是:
为什么会这样
difference = int(first_number) + int(second_number)
summary = int(first_number) - int(second_number)
工作???
差异部分工作正常并正确打印 (num1 - num2) 即使它包含数字之间的“+”符号???
Python 的 .find
函数 returns 在字符串中找到该字符的索引。在这里,如果您传入字符串 '-'
,它将 return 0,因为字符 -
在第 0 个索引处找到。
计算 True/False 语句时,Python 将 0
计算为 False
。这意味着对于 sign='-'
,您的代码将打印 summary
.
要解决此问题,请改用 in
或等式。例如:
if sign == '-':
<do this>
OR
if '-' in sign:
<do this>
如果您 运行 您的代码,在您的 'if' 语句下使用 'print' 语句,如下所示:
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')
print(summary)
if sign.find("-"):
print('difference')
print(difference)
您可以看到程序返回的是哪个值。这有什么帮助吗?
今天我安装了 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)
并且有效...当您插入“-”作为符号时,它会执行 num1 - num2
我的问题是:
为什么会这样
difference = int(first_number) + int(second_number)
summary = int(first_number) - int(second_number)
工作??? 差异部分工作正常并正确打印 (num1 - num2) 即使它包含数字之间的“+”符号???
Python 的 .find
函数 returns 在字符串中找到该字符的索引。在这里,如果您传入字符串 '-'
,它将 return 0,因为字符 -
在第 0 个索引处找到。
计算 True/False 语句时,Python 将 0
计算为 False
。这意味着对于 sign='-'
,您的代码将打印 summary
.
要解决此问题,请改用 in
或等式。例如:
if sign == '-':
<do this>
OR
if '-' in sign:
<do this>
如果您 运行 您的代码,在您的 'if' 语句下使用 'print' 语句,如下所示:
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')
print(summary)
if sign.find("-"):
print('difference')
print(difference)
您可以看到程序返回的是哪个值。这有什么帮助吗?