In [1]:
i = 0
stuff = ('hello', 'world', 'q', 'bar')
def getstuff():
global i
s = stuff[i]
i += 1
return s
for s in iter(getstuff, 'q'):
print(f'inside loop {s}')
else:
print(f'else {s}')
In [2]:
i = 0
stuff = ('hello', '123', 'q', 'bar')
def getstuff():
global i
s = stuff[i]
i += 1
return s
def foo():
for s in iter(getstuff, 'q'):
print(f'inside loop {s}')
try:
x = int(s)
except ValueError:
print('try again')
else:
print('break')
break
else:
print(f'else {s}')
return None
print(f'good with {x}')
return x
foo()
Out[2]:
In [3]:
i = 0
stuff = ('hello', 'world', 'q', 'bar')
def getstuff():
global i
s = stuff[i]
i += 1
return s
def foo():
for s in iter(getstuff, 'q'):
print(f'inside loop {s}')
try:
x = int(s)
except ValueError:
print('try again')
else:
print('break')
break
else:
print(f'else {s}')
return None
print(f'good with {x}')
return x
foo()