У меня проблема в моей программе python. В этой программе пользователь вводит строку, а затем программа вызывает функцию для преобразования из юникода письма к символу ближайшего ASCII (например, S -> S ö -> о и т.д.), но я получаю TypeError: 'str' object does not support item assignment
ТипError: объект 'str' не поддерживает назначение элемента
код :
__author__ = 'neo'
ceviri = {
'ş':'s','Ş':'S',
'ğ':'g','Ğ':'G',
'ı':'i','İ':'I',
'ü':'u','Ü':'U',
'ö':'o','Ö':'O'
}
def karakterDegistir(x):
p = x[:]
y = sorted(ceviri.keys())
u = 0
while u < len(y):
if p[u] in y:
p[u] = ceviri[p[u]]
u = u + 1
return p
print(karakterDegistir('şeker'))
Python не позволяет изменять строку на месте. Вам нужно построить новую строку с переводами и вернуть ее. – Barmar
Возможный дубликат [Как изменить один символ в строке в Python?] (Http://stackoverflow.com/questions/3861026/how-do-i-modify-a-single-character-in-a -string-in-python) –