def getPoints(n):
if n==1:
return [1,11]
elif n==(range(2,10)):
return [n]
elif n==(range(10,13)):
return [10]
例如,如果n==12
我希望它返回[10]
,并且如果n==5
我希望它返回[5]
。我从Python shell中没有任何回报。
让我们考虑一下您编写的表达式: n==(range(2,10))
n
大概是一个数字-它不可能等于一个数字范围!
但是,您可以按照n in range(2,10)
自己的意愿编写测试,并且可以按自己的意愿进行操作-尽管效率较低,因为实际上每次执行测试时都会创建一个数字列表,然后线性搜索该列表。使用xrange
代替range
会更有效,因为它实际上不会创建列表。
进行相同测试的另一种方法是2 <= n < 10
(与基本上相同(2 <= n) and (n < 10)
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句