如何将 enumerate() 转换为 Python 中的 for 循环

How to translate enumerate() to a for loop in Python

我有下面的代码,它从一个长数字中找到一个猜测数字的索引,但是我不能使用枚举。等效的 for 循环看起来像什么:

guess = input()
long_number = ('5666')
a = [i for i, number in enumerate(long_number) if number == guess]
print(a)

例如输出:如果 guess = 5,那么输出应该是 [0].

对于 and/or 如果只有函数,你会如何使用 while 来做到这一点?

您可以将数字作为字符串进行迭代并检查每个数字,同时使用变量 index 来跟踪索引。举个例子:

index = 0
for number in [int(num) for num in str(long_number)]:
    if number == int(guess):
        print(index)
    index += 1

您只需将列表理解更改为:

a = [i for i in range(len(long_number)) if long_number[i] == guess]

(在您的代码中):

guess = input()
long_number = '5666'
a = [i for i in range(len(long_number)) if long_number[i] == guess]
print(a)

输出将与您的相同