Вы забыли сохранить новую строку в новой переменной.
new_string = b.join(s)
return new_string
Полный код:
def myfunc(a):
s = list(a)
i = 1
b = " "
l = len(a)
while (i <= l):
if ((i % 2) == 0):
s[i - 1] = s[i - 1].upper()
i = i + 1
else:
s[i - 1] = s[i - 1].lower()
i = i + 1
z = b.join(s)
return z
ВХОД:
a = "test"
ВЫХОД:
t E s T