Ya te han solucionado la duda, pero hay un par de cosas que no entiendo del todo.
1) ¿Te ha funcionado correctamente sin inicializar la variable i?
2) ¿Por qué crear i y cadena como variables globales? Aunque sea un programa sencillito acostumbrate a crearlas como locales, para reducir el acoplamiento entre módulos.