Как заменить букву в строке? - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь решить проблему кроликов Фибоначчи. Обычно этот вопрос подразумевает, что рост кроликов в 'n' месяцев никогда не умирает. Но сейчас умирает на м месяцах.

Я хочу смоделировать эту ситуацию. Итак, я создал словарь с ключами и значениями для каждого изменения. Что-то вроде:

kbunny = {'a': 'b', 'b':'ca', 'c':'a'}

Позже я хочу найти в строке «gbunny» каждый ключ и заменить этот ключ его значением.

gbunny = 'a'
for key, val in zip(kbunny.keys(), kbunny.values()):
     for a, b in enumerate(gbunny):
          if b[a] is key:
               b[a] = b[a].replace(key, val)

Но я не стал Не знаю, чем строки неизменны в python.

Какие еще варианты у меня есть?

1 Ответ

0 голосов
/ 11 апреля 2020

вам нужно переосмыслить свой подход. Это правда, что строка неизменна, однако вы можете использовать некоторый список помощников для выполнения этой работы.

Каждый раз, когда мы начинаем с gbunny, используйте словарь, чтобы получить соответствующие значения и сохранить его в списке. преобразовать этот список в строку, использовать это строковое значение для refre sh gbunny, затем очистить список помощников и перейти к следующей итерации.

код sudo:

kbunny = {'a': 'b', 'b':'ca', 'c':'a'}
gbunny = 'a'
# you can create helper list here or somewhere else, 
# the location depends on how you want to handle the 'empty helper list' process

# You want to set a max_interation number so the loop can exit 
while max_iterations: 
    # use the kbunny to map each character in gbunny to its corresponding string and store in helper list 
    # convert helper list to string using ''.join()
    # pass the new string value to gbunny 
    # reset helper list to empty
    # decrease max_iterations by one 
    # continue to next iteration

Это звучит как интересная проблема, и я не хочу просто дать вам решение. Комментарий ниже, если у вас были какие-либо проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...