python взять строки из трёх файлов и собрать в один

помогите пожалуйста имеем 3 файла

one.txt

harry
max
ben

two.txt

1
2
3

three.txt

jo
mo

нужно при помощи python собрать все в один файл в виде

res.txt

harry:1:jo
max:1:jo
ben:1:jo
harry:1:mo
max:1:mo
ben:1:mo
harry:2:jo
max:2:jo
ben:2:jo
harry:2:mo
max:2:mo
ben:2:mo
harry:3:jo
max:3:jo
ben:3:jo
harry:3:mo
max:3:mo
ben:3:mo

все что смог сам это

one = open('one.txt', mode='r', encoding="utf-8")
one_ = one.readlines()
one = one_
print(one)
two = open('two.txt', mode='r', encoding="utf-8")
two_ = two.readlines()
two = two_
print(two)
three = open('three.txt', mode='r', encoding="utf-8")
three_ = three.readlines()
three = three_
print(three)
print(one, two, three)

а как это правильно вывести мне не понятно.

for i in one:
    for y in two:
        for z in three:
            print(i,':', z, ':', y)

выводит какой то бардак, помогите плз)


Ответы (1 шт):

Автор решения: CrazyElf

Скорее всего вам мешают переводы строки. Попробуйте использовать strip. Ну и переменные нужно указывать в том же порядке, в каком идут циклы. И лучше использовать f-string, в вашем способе будут пробелы между значениями.

print(f"{i.strip()}:{y.strip()}:{z.strip()}")
→ Ссылка