TransWikia.com

Не работает функция замены букв на символы

Stack Overflow на русском Asked by TobaSko on November 7, 2021

Всем привет!
Необходимо написать функцию, которая бы в слове заменяла все символы на ‘(‘, если буква встречается в слове один раз и ‘)’ , если буква встречается в слове больше одного раза.

def duplicate_encode(word):
    word1 = word
    for letter in list(word):
        if list(word).count(letter) > 1:
            word1.replace(letter, ')')
        else:
            word1.replace(letter, '(')
    return word1

Не понимаю почему, но данная функция у меня возвращает ровно тоже самое слово, что и на входе.

One Answer

Метод replace возвращает новую строку, а не изменяет старую.

def duplicate_encode(word):
    word1 = word
    for letter in list(word):
        if list(word).count(letter) > 1:
            word1 = word1.replace(letter, ')')
        else:
            word1 = word1.replace(letter, '(')
    return word1

word = "aaabcddf"

print(word)
print(duplicate_encode(word))

Answered by dIm0n on November 7, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP