Why does next raise a 'StopIteration', but 'for' do a normal return? Why does next raise a 'StopIteration', but 'for' do a normal return? python python