or que Python para loop não funciona como C para loo

C:

# include <stdio.h>
main()
{
    int i;
    for (i=0; i<10; i++)
    {
           if (i>5) 
           {
             i=i-1;     
             printf("%d",i);
           } 
    }
}

Pitão

for i in range(10):
   if i>5: i=i-1
   print(i)

Quando compilamos o código C, ele entra em um loop infinito imprimindo 5 para sempre, enquanto em Python não, por que nã

A saída do Python é:

0 1 2 3 4 5 5 6 7 8