Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中检查数字是否不在范围内_Python_Range - Fatal编程技术网

在Python中检查数字是否不在范围内

在Python中检查数字是否不在范围内,python,range,Python,Range,好的,我现在有Python代码,它的功能如下: if plug in range(1, 5): print "The number spider has disappeared down the plughole" 但我真正想做的是检查数字是否在范围内。我在谷歌上搜索了一下Python文档,但什么也找不到。有什么想法吗 其他数据:运行此代码时: if not plug in range(1, 5): print "The number spider has disappeare

好的,我现在有Python代码,它的功能如下:

if plug in range(1, 5):
    print "The number spider has disappeared down the plughole"
但我真正想做的是检查数字是否在范围内。我在谷歌上搜索了一下Python文档,但什么也找不到。有什么想法吗

其他数据:运行此代码时:

if not plug in range(1, 5):
    print "The number spider has disappeared down the plughole"
我得到以下错误:

Traceback (most recent call last):
    File "python", line 33, in <module>
IndexError: list assignment index out of range
返回了相同的错误。

使用:

if not plug in range(1,5):
     #bla
if plug not in range(1,5):
     print "The number spider has disappeared down the plughole"
当变量插头超出1到5的范围时,它将打印给定的行

if plug not in range(1,5):
     print "The number spider has disappeared down the plughole"

当变量插头超出1到5的范围时,它将打印给定的行。如果您的范围内有一个
步骤,那么使用它的性能会更快:

if not 1 <= plug < 5:
证明:

>>> import timeit
>>> timeit.timeit('1 <= plug < 5', setup='plug=3')  # plug in range
0.053391717400628654
>>> timeit.timeit('1 <= plug < 5', setup='plug=12')  # plug not in range
0.05137874743129345
>>> timeit.timeit('plug not in r', setup='plug=3; r=range(1, 5)')  # plug in range
0.11037584743321105
>>> timeit.timeit('plug not in r', setup='plug=12; r=range(1, 5)')  # plug not in range
0.05579263413291358
导入timeit
>>>timeit.timeit('1如果您的产品系列的
步数为1,则从性能角度来看,使用它要快得多:

if not 1 <= plug < 5:
证明:

>>> import timeit
>>> timeit.timeit('1 <= plug < 5', setup='plug=3')  # plug in range
0.053391717400628654
>>> timeit.timeit('1 <= plug < 5', setup='plug=12')  # plug not in range
0.05137874743129345
>>> timeit.timeit('plug not in r', setup='plug=3; r=range(1, 5)')  # plug in range
0.11037584743321105
>>> timeit.timeit('plug not in r', setup='plug=12; r=range(1, 5)')  # plug not in range
0.05579263413291358
导入timeit
>>>timeit.timeit('1这似乎也有效:

if not 2 < 3 < 4:
    print('3 is not between 2 and 4') # which it is, and you will not see this

if not 2 < 10 < 4:
    print('10 is not between 2 and 4')
如果不是2<3<4:
打印('3不在2和4之间)#就是这样,您不会看到这一点
如果不是2<10<4:
打印('10不在2和4'之间)

原始问题的确切答案是
如果不是1这似乎也可行:

if not 2 < 3 < 4:
    print('3 is not between 2 and 4') # which it is, and you will not see this

if not 2 < 10 < 4:
    print('10 is not between 2 and 4')
如果不是2<3<4:
打印('3不在2和4之间)#就是这样,您不会看到这一点
如果不是2<10<4:
打印('10不在2和4'之间)
如果不是1,则原始问题的确切答案将是

值应键入整数,否则
不在范围内
会给出奇怪的结果



值应键入整型强制转换,否则
不在范围内
会产生奇怪的结果。

不在范围内(1,5)
?您尝试过吗?另外,请确保
plug
为整型或检查不起作用,因此
plug not in range(1,5)
可以很好地解决问题。我投票结束这个问题,因为在正确的条件下,这个问题可能仍然可以重现,但它涉及技术计算错误或安全问题,因此对一般堆栈溢出用户没有用处。
不在范围内(1,5)
?您试过了吗?另外,请确保
plug
类型为integer,或者检查不起作用,因此
plug不在范围内(1,5)
可以很好地解决问题。我投票将这个问题作为主题外的问题来结束,因为在正确的条件下,这个问题可能仍然可以重现,但它涉及技术计算错误或安全问题,因此对一般堆栈溢出用户没有用。我正在做“插件不在范围内()“。但这种方法似乎也不起作用。hhhmmm…@PeterDavidCarter
正在检查身份。虽然Python的读法大部分像英语,但实际上不是英语;)为什么它不起作用?这是非常基本的,它应该起作用。你确定plug是整数吗?我不知道。我发布了它给出的错误。我否决了上面的答案,因为它只是代码,不起作用,但如果答案被编辑,我可能会收回,因为它现在看起来可能有点不公平…?我正在做“plug not in range”()“。但这种方法似乎也不起作用。hhmmmm…@PeterDavidCarter
正在检查身份。虽然Python的读法大部分像英语,但实际上不是英语;)为什么它不起作用?这是非常基本的,应该有效。你确定那个插头是整数吗?我不知道。我发布了它给出的错误。我否决了上面的答案,因为它只是代码,不起作用,但如果答案被编辑,我可能会收回,因为它现在可能有点不公平…?奇怪的是,我第一次运行此代码时它不起作用。后来它确实起了作用。太奇怪了。奇怪的是,我第一次运行这个代码时,它没有工作。后来它确实起了作用。太奇怪了。是性能总是更快,还是有其他可能影响事情的因素?@PeterDavidCarter我不能保证任何事情,但就我所能想到的,这样做总是更快。也许如果你在玩多个变量,以确保它们都在范围之外。。。一般来说,
range()
用于需要使用范围内所有数字的时候。在这个场景中,您只需要开始点和结束点。我有点好奇,但是否可以实际查看Javascript的编译器代码,看看为什么对我来说速度更快?我相信你是对的,我只是想了解更多。我可能会在Github上找到所有Javascript库,但JS本身。。。我想,我有兴趣从一个较低的层次来看待问题……@PeterDavidCarter?你是说蟒蛇?你可以用它来查看函数的反汇编。哦,是的,就是那个。听起来很有用……:)是性能总是更快,还是有其他可能影响事情的因素?@PeterDavidCarter我不能保证任何事情,但就我所能想到的,这样做总是更快。也许如果你在玩多个变量,以确保它们都在范围之外。。。一般来说,
range()
用于需要使用范围内所有数字的时候。在这个场景中,您只需要开始点和结束点。我有点好奇,但是否可以实际查看Javascript的编译器代码,看看为什么对我来说速度更快?我相信你是对的,我只是想了解更多。我可能会在Github上找到所有Javascript库,但JS本身。。。我想,我有兴趣从一个较低的层次来看待问题……@PeterDavidCarter?你是说蟒蛇?你可以用它来查看函数的反汇编。哦,是的,就是那个。听起来很有用……:)