面试题答案
一键面试def num_generator():
for i in range(1, 101):
yield i
def process_generator():
result = []
for num in num_generator():
sum_value = sum(map(int, str(num**2 + num**3)))
if sum_value % 7 == 0:
continue
result.append(num)
return result
print(process_generator())
continue
在这个场景下对生成器迭代的影响是:当生成器生成的数字满足特定复杂条件时,continue
语句会跳过当前循环体中剩余的代码,直接进入下一次循环迭代,也就是跳过满足条件的数字,不将其添加到结果列表中,继续处理生成器生成的下一个数字。这样保证了生成器的迭代不受影响,按顺序逐个生成数字,只是在处理时跳过不符合要求的数字。