O fatiamento de string requer formatação de saída em Python

Iniciante em python aqui, e eu tenho um código que deve dividir uma string de maneira uniforme e estranha e exibi-la. eu li o artigo aqui sobre isso

Aqui está o meu código:

def even_bits(str):
    result = ""  
    for i in range(len(str)):
        if i % 2 == 0:
            result = result + str[i]
    return result
def odd_bits(str):
    result = ""  
    for i in range(len(str)):
        if i % 2 == 1:
            result = result + str[i]
    return result


for i in range(int(input())):
    w = input('')    
    print(even_bits(w), ' ' ,odd_bits(w))

Isso é executado corretamente, no entanto, fornece a seguinte saída:

Sample Input: 
2
Hello
World

Sample Output: 
2
Hello
Hlo el

World
Wrd ol

Como faço para formatar a saída de forma que eu obtenha a saída da seguinte forma:

Sample Output:
Hlo el
Wrd ol

Para não alterar quase nada no teu código, segue uma solução…

...
w=input('Words: ') 
for x in w.split(' '):
    print(f'{even_bits(x)} {odd_bits(x)}')

Basicamente o que este pedaço de código esta fazendo é, obter as palavras do input(), transformá-lo em uma lista com w.split(' ') passando para o for e então chamando as duas funções à qual deseja, veja a saída abaixo…

Words: Hello World
Hlo el
Wrd ol