1

Тема: Програма для змішування слів

Вітаю, товариство!
Я тут скоріше за допомогою. Якщо моя тема некоректна - перепрошую і можете видалити.
Я не програміст, але наближався колись до Python  (хотів колись спробувати себе у комп'ютерній лінгвістиіці) - не можу похвалитися успіхами.
Хотів для себе написати маленьку програмку для виконання, але далі 3 рядків не пішов.
txt = "yes no good bad"
a = txt.split
print (a)

Задача у мене стоїть наступна:
Маю 2 списки слів, один набраний мною англійською, інший - переклад списку українською у гугл
Слова у списках не розділяв комами
Отже маю:
yes no good bad
так ні добре погано
На виході хочу отримати:
yes ні good погано
так no добре bad
Тобто у першому списку кожне друге (парне) слово - українською, у другому - кожне друге англійською
З того, що пам'ятаю - розумію, що потрібно якось всі елементи перетворити у списки, вивести парні елементи (і % 2 == 0), вивести непарні, змішати все до купи і отримати результат. На практиці я не уявляю як це зробити.
Якщо хтось зголоситься відгукнутися на мій головний біль - буду дуже вдячний

2

Re: Програма для змішування слів

proxy написав:

На виході хочу отримати:
yes ні good погано
так no добре bad

Забув вказати, що на виході слова мають розділятися комами
yes, ні, good,погано
так, no, добре, bad

3

Re: Програма для змішування слів

Отже, є дві стрічки, ukrainian та english. Щоб не переускладнювати:

ukrainian = ukrainian.split()
english = english.split()
line1 = ', '.join(ukrainian[i] if i%2==0 else english[i] for i in len(ukrainian))
line2 = ', '.join(ukrainian[i] if i%2==1 else english[i] for i in len(ukrainian))

Але врахуйте, що Google translate перекладає не по словах, а по реченнях, тобто "дякую" буде "thank you", і ваша стрічка перекладеться зі спробами узгодити слова.

Подякували: proxy1

4

Re: Програма для змішування слів

koala написав:

Отже, є дві стрічки, ukrainian та english. Щоб не переускладнювати:

ukrainian = ukrainian.split()
english = english.split()
line1 = ', '.join(ukrainian[i] if i%2==0 else english[i] for i in len(ukrainian))
line2 = ', '.join(ukrainian[i] if i%2==1 else english[i] for i in len(ukrainian))

Але врахуйте, що Google translate перекладає не по словах, а по реченнях, тобто "дякую" буде "thank you", і ваша стрічка перекладеться зі спробами узгодити слова.

Дякую за відповідь
Дуже слушно щодо Google translate - якось не взяв до уваги. Але вже не занурюватимусь в складнощі, бо то вже, певно, пару рядками не обійдеться
Стосовно коду - завжди вражає, як люди так гарно і лаконічно вміюить його писати. От в мене таке саме крутилося в голові з набором символів, але як його об'єднати - я не знав, тому з програмуванням, певно, і не склалося. Поясніть, якщо ще можливо - код видає помилку. Я вставляю слова в дужки і видає SyntaxError: multiple statements found while compiling a single statement

5

Re: Програма для змішування слів

Ви намагаєтеся виконати цей код у інтерпретаторі. Або робіть це порядково, або збережіть у файл і запустіть на виконання.

Подякували: proxy1