Подробнее: Решение проблемы мутаций в Python

Мы видели, что списки изменяемы (их можно изменить), а кортежи неизменны (их нельзя изменить).

Попробуем понять это на примере.

Вам дана неизменяемая строка, и вы хотите внести в нее изменения.

Читайте также: Решение проблемы модуля календаря HackerRank в python | решение проблемы на питоне

Пример

>>> string = "abracadabra"

Вы можете получить доступ к индексу:

>>> print string[5]
a

Что делать, если вы хотите присвоить значение?

>>> string[5] = 'k' 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment

Как бы вы подошли к этому?

  • Одним из решений является преобразование строки в список, а затем изменение значения.

Пример

>>> string = "abracadabra"
>>> l = list(string)
>>> l[5] = 'k'
>>> string = ''.join(l)
>>> print string
abrackdabra
  • Другой подход состоит в том, чтобы разрезать строку и соединить ее обратно.

Пример

>>> string = string[:5] + "k" + string[6:]
>>> print string
abrackdabra

Читайте также: HackerRank Найдите решение проблемы со строками в python | решение проблемы на питоне

Задача
Прочитать заданную строку, изменить символ в заданном индексе, а затем напечатать измененную строку.
Описание функции

Завершите функцию mutate_string в редакторе ниже.

mutate_string имеет следующие параметры:

  • строка строка: строка для изменения
  • int position: индекс для вставки символа
  • строковый символ: символ для вставки

Возврат

  • строка: измененная строка

Формат ввода

Читайте также: Решение проблемы Hackerrank Mutations в Python | решение проблемы на питоне

Первая строка содержит строку .
Следующая строка содержит целое число , позицию индекса и строку , разделенные пробелом.

Пример ввода

STDIN           Function
-----           --------
abracadabra     s = 'abracadabra'
5 k             position = 5, character = 'k'

Пример вывода

abrackdabra

Problem solution in Python 2 programming.

S=raw_input()
i,c=map(str,raw_input().split())
i=int(i)
print S[:i] + c + S[i+1:]

Решение проблемы в программировании на Python 3.

string = input()
line = input().split()
i, c = int(line[0]), line[1]
print(string[:i] + c + string[i+1:])

Решение проблемы в программировании PyPy.

Подробнее:-Решение проблемы в программировании PyPy.