Python 在一个范围内,我如何在内部数到3?

Python 在一个范围内,我如何在内部数到3?,python,python-3.x,Python,Python 3.x,有点像这样: for i in range(n): if i == first: x() if i == second: y() if i == third: z() 我只想识别循环中的第一、第二和第三次迭代,直到范围达到极限 多谢各位 编辑 对于范围内的每个第一、第二、第三次迭代,我需要执行不同的函数 i = 0 # x() i = 1 # y() i = 2 # z() i = 3 # x() i = 4 # y()

有点像这样:

for i in range(n):
    if i == first:
        x()
    if i == second:
        y()
    if i == third:
        z()
我只想识别循环中的第一、第二和第三次迭代,直到范围达到极限

多谢各位

编辑

对于范围内的每个第一、第二、第三次迭代,我需要执行不同的函数

i = 0 # x()
i = 1 # y()
i = 2 # z()
i = 3 # x()
i = 4 # y()
i = 5 # z()
i = 6 # x()
i = 7 # y()
...

我将在一个肢体上,猜测您正在寻找模运算符:

for i in range(10):
    print(i % 3 + 1)

# 1 2 3 1 2 3 ...
为了您的目的:

for i in range(n):
    [x, y, z][i % 3]()
或者更详细:

for i in range(n):
    if i % 3 == 0:
        x();
    elif i % 3 == 1:
        ...
或者如果您实际上没有
范围

counter = 0;
while True:
    [x, y, z][counter % 3]()
    counter += 1
或者非常简单:

counter = 0
while True:
    [x, y, z][counter]()
    counter = counter % 3  # reset to 0 every 3rd iteration

我更新了我的问题,我想我用10的固定范围把所有人都甩了。就我而言,n是无限的,直到条件不再为真。所以你想每一次,第二次,第三次迭代,还是在第一次,第二次,第三次迭代中做点什么?差别很大。另外,
%
难道不提供解决方案吗?你考虑过了吗?它在什么方面不适用?除非你明确回答,否则我完全不清楚我的回答离目标有多远。我想我已经为你涵盖了所有的可能性。谢谢,是的,我认为我的方法太复杂了,只要简单一点,而true+计数器就是我所需要的
for i in range(10):
    if i == 0:
        print ("1")
    if i == 1:
        print("2")
    if i == 2:
        print("3")