如何在python.3中只使用range()偶数?

时间:2013-11-16 15:21:43

标签: python python-3.x range

我对python很陌生,我想知道是否有办法编辑范围(100)以便取出所有奇数?我试图制作一个简单的游戏"在你想到一个数字的地方,它会告诉你做一些简单的数学运算,然后告诉你你剩下的是什么数字,而且它现在完美无缺,除非它返回一个奇数你还剩下a .5最后(不是一个主要问题,但我宁愿将其移除以使其更简单)。这就是我现在所拥有的:

import random, time

numList = range(100)

def getRandomNumber(numList):
    numIndex = random.randint(0, len(numList) - 1)
    return numList[numIndex]

def restartProg():
    print('Do you want to restart? (Y/N)')
    return input().lower().startswith('y')  

secretNumber = getRandomNumber(numList)
secretNumber = str(secretNumber)
answer = int(secretNumber)/2
answer = str(answer)

while True:
    print()
    print('Think of a number between 1 and 100.')
    time.sleep(3)
    print()
    print('Now double that number.')
    time.sleep(3)
    print()
    print('Add ' + secretNumber + ' to it.')
    time.sleep(6)
    print()
    print('Now divide it by 2.')
    time.sleep(6)
    print()
    print('And finally, take away the first number you thought of.')
    time.sleep(5)
    print()
    print('Got it?')
    time.sleep(5)
    print()
    print('The number you are left with is... ' + answer + ', right?')
    print()
    print()
    time.sleep(2)

    gameDone = True

    if gameDone:
        if restartProg():
            secretNumber = getRandomNumber(numList)
            secretNumber = str(secretNumber)
            answer = int(secretNumber)/2
            answer = str(answer)
            gameDone = False
        else:
            break

2 个答案:

答案 0 :(得分:6)

使用range的3参数形式 - 第三个参数是步长:

range(0, 100, 2)

答案 1 :(得分:0)

例如下面的 Python 代码将只显示偶数

for i in range(2, 11, 2):
    print(i)