我如何确定一个给定的整数是否在另外两个整数之间(例如大于/等于10000和小于/等于30000)?
到目前为止,我的尝试并没有奏效:
if number >= 10000 and number >= 30000:
print ("you have to pay 5% taxes")
我如何确定一个给定的整数是否在另外两个整数之间(例如大于/等于10000和小于/等于30000)?
到目前为止,我的尝试并没有奏效:
if number >= 10000 and number >= 30000:
print ("you have to pay 5% taxes")
当前回答
我添加了一个没有人提到的解决方案,使用symphony库中的Interval类:
from sympy import Interval
lower_value, higher_value = 10000, 30000
number = 20000
# to decide whether your interval shhould be open or closed use left_open and right_open
interval = Interval(lower_value, higher_value, left_open=False, right_open=False)
if interval.contains(number):
print("you have to pay 5% taxes")
其他回答
条件应该是,
if number == 10000 and number <= 30000:
print("5% tax payable")
使用number == 10000的原因是,如果number的值是50000,如果我们使用number >= 10000,条件就会通过,这不是你想要的。
当且仅当数值落在10,000到30,000之间时,希望输出输出打印给定语句。
代码应该是;
if number >= 10000 and number <= 30000:
print("you have to pay 5% taxes")
我添加了一个没有人提到的解决方案,使用symphony库中的Interval类:
from sympy import Interval
lower_value, higher_value = 10000, 30000
number = 20000
# to decide whether your interval shhould be open or closed use left_open and right_open
interval = Interval(lower_value, higher_value, left_open=False, right_open=False)
if interval.contains(number):
print("you have to pay 5% taxes")
试试这个简单的函数;它检查A是否在B和C之间(B和C的顺序可能不对):
def isBetween(A, B, C):
Mi = min(B, C)
Ma = max(B, C)
return Mi <= A <= Ma
所以isBetween(2, 10, -1)和isBetween(2, -1, 10)是一样的。
下面是一些可能的方法,从最好到最差的表现(即第一个将表现最好)
# Old school check
if 10000 >= b and b <=30000:
print ("you have to pay 5% taxes")
# Python range check
if 10000 <= number <= 30000:
print ("you have to pay 5% taxes")
# As suggested by others but only works for integers and is slow
if number in range(10000,30001):
print ("you have to pay 5% taxes")