这是一个非常简单的例子:
def work():
x = input("Give me a number : ")
if x in range(30000):
print "hello"
所以只要我在该范围内输入一个数字就会打印你好,但是如果我希望它只接受该范围内的奇数呢?我尝试定义一个单独的函数,其范围只是这样的奇数:
def work():
a = input("Give me a number : ")
if a in range(30000):
X = range(30001)
y = (2*X)-1
if a in range(y):
print "hello"
但这不起作用。
答案 0 :(得分:6)
if 0 <= x < 30000 and x % 2 == 1:
print "hello"
答案 1 :(得分:1)
注意:Python 2.x没有进行优化 - 因此这仅适用于Python 3.x的range
您可以通过为其提供步骤参数以及{1}}(或3.x中的xrange
- 无需生成列表并可以进行成员资格测试...)开始和结束都停止......
因此,你可以用来检查奇数到30000:
range
例如:
if number in xrange(1, 30000, 2):
pass
答案 2 :(得分:0)
奇数不会除以2,因此您可以使用modulo operator:
进行验证x % 2
在Python中,一个不等于0的数字被认为是True
,所以这将完成工作:
def work():
x = input("Give me a number : ")
if x in range(30000) and x % 2:
print "hello"
答案 3 :(得分:0)
如果你想列出数字,这里有一般的方法(但你应该使用range()
函数):
def every(increment, range, offset=0):
current = offset
yield current
while(1):
current += increment
if current < range:
yield current
else:
break
因此,对于30,000的赔率,它将是:
for i in every(2, 30000, 1):
...