说明 我有三个变量a,x和y。我想应用以下内容,如果变量a在范围(x,y)中打印变量
代码:
-f
错误(当然):
a = "0.50"
x = "-14.40"
y = "0.50"
for a in range(int(x), int(y)):
print a
Pythonista我需要你的帮助!!
答案 0 :(得分:1)
Python 2 range
函数与此任务无关。您只需要将这些字符串转换为浮点数并进行简单的比较测试。例如,
a = "0.50"
x = "-14.40"
y = "0.50"
afloat = float(a)
if float(x) <= afloat and afloat <= float(y):
print a
<强>输出强>
0.50
使用Python的比较链可以更简单(更有效)地编写。
a = "0.50"
x = "-14.40"
y = "0.50"
if float(x) <= float(a) <= float(y):
print a
FWIW,在Python 3中,range
对象可以用于测试范围的成员资格,但它对您的情况不会有用。例如,
>>> r = range(1, 10, 2)
>>> list(r)
[1, 3, 5, 7, 9]
>>> 3 in r
True
>>> 4 in r
False
>>> 3.5 in r
False
答案 1 :(得分:1)
来自评论
我需要检查是否在x和y的范围内。
然后做
a = "0.50"
x = "-14.40"
y = "0.50"
if float(x) <= float(a) <= float(y): # checks a is between x and y (inclusive)
# do something
range
做了一些非常不同的事情。它用于创建我们可以在for
循环中使用的迭代器,如下所示:
for i in range(4):
print(i * 2)
0
2
4
6
答案 2 :(得分:0)
您可以使用numpy arange。
import numpy as np
r = np.arange(-14.4,0.5, 0.5)
def isinside(x):
if x in r:
print ("x")
else:
print ("x no in a")
isinside(-12)
返回
x no in a
如果您要打印整个系列,则
print ([round(x) for x in r])# round to avoid long numbers