【发布时间】:2015-10-30 02:15:13
【问题描述】:
例如,调用 consec(2, [2, 2, 3, 9, 9, 10, 1, 6, 6]) 返回 {2, 9, 6}.我不能在itertools 中使用任何东西,我只能使用next 和iter,而且我无法制作辅助列表来跟踪值或使用len。
这是我目前所拥有的:
consec(n,iterable):
result = set()
count = 0
y = iter(iterable)
j = iter(iterable)
next(j)
try:
while True:
for x in y:
if x in result:
continue
for m in range(n):
if x == next(j):
count += 1
if count == n-1:
result.add(x)
else:
count = 0
break
except StopIteration:
return result
【问题讨论】:
标签: python loops python-3.x while-loop iteration