Как сбросить значение в строке Python

Вопрос: Я пытаюсь добавить определенный текст каждый раз, когда гласная появляется в одном слове. Вот мой код: first_syl = 'ab' second_syl = 'bc' word = 'income' vowels = "aeiou" diction = "bcdfghjklmnpqrstvwxyz" empty_str = "" word_str = "" for ch in word: if ch in diction: word_str += ch if ch in vowels: empty_str +=

Вопрос:

Я пытаюсь добавить определенный текст каждый раз, когда гласная появляется в одном слове. Вот мой код:

first_syl = ‘ab’ second_syl = ‘bc’ word = ‘income’ vowels = «aeiou» diction = «bcdfghjklmnpqrstvwxyz» empty_str = «» word_str = «» for ch in word: if ch in diction: word_str += ch if ch in vowels: empty_str += word_str + ch + first_syl print (empty_str)

Результат – iabncoabncmeab

Правильный результат – iabncoabmeab

Разница в том, что в моей программе есть дополнительный “nc” прямо перед “meab”. Проблема в том, что при запуске цикла он добавляет сначала “n”, затем “nc”, затем “ncm” (не гласные), но вместо этого мне нужно добавить “n”, затем “c”, а затем “m”.

Есть идеи, как это сделать..? Используя python 3.2.3, спасибо.

Лучший ответ:

Не уверен, что вы пытаетесь сделать, но если ваша цель – покорить iabncoabmeab. Затем вам нужно сбросить word_str после появления гласного

for ch in word: if ch in diction: word_str += ch if ch in vowels: empty_str += word_str + ch + first_syl word_str=»» // I don’t now python but you should clear the string Ответ №1

Если я понимаю вашу цель правильно, вы хотите добавить ch в empty_str на каждом проходе, а затем добавьте first_syl, когда вы нажмете гласную.

Причина, по которой вы складываете, – это + = word_str каждый раз, когда вы нажимаете гласную. Это будет только ухудшаться, чем больше гласных в строке, которую вы предоставляете в качестве источника.

for ch in word: empty_str += ch if ch in diction: word_str += ch if ch in vowels: empty_str += first_syl print (empty_str, word_str)

Оцените статью
Добавить комментарий