В цикле, который у вас есть, ваш цикл for определяется как:
s = 'happy'
rev = ''
for char in s:
rev = ch + rev
Если мы посмотрим на это, пройдя первые несколько итераций, мы получим: h аа, тьфу, тьфу, yppah
Это потому, что когда вы обновляете переменную rev, вы добавляете следующий символ (char) перед rev через ваше определение.
rev = NEW CHARACTER + CURRENT REV, поэтому смотрите на последнюю итерацию, гдемы добавляем y, вы добавляете:
rev = NEW CHARACTER (Y) + CURRENT REV (PPAH), в основном утверждая, что вы добавляете PPAH к букве y вместо y к PPAH.
Цикл можно легко исправить, поменяв местами ch и rev:
for char in s:
rev = rev + char