如何将 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)
输出将与您的相同
我有下面的代码,它从一个长数字中找到一个猜测数字的索引,但是我不能使用枚举。等效的 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)
输出将与您的相同