Добро пожаловать в программирование на Python!Как человек, который перешел с C на Delphi на Python, я могу сказать, что ваш новый язык очень полезен и интересен.
Однако Python сильно отличается от C и имеет разные способы работы.Вместо того, чтобы переводить ваш код C в Python, вам лучше изучить Python и переделать ваш код с нуля.
Одно отличие состоит в том, что строки Python являются неизменяемыми.Это означает, что вы не можете изменить часть строки, например, символ.Вы должны заменить всю строку новой строкой.Таким образом, ваше утверждение str1[k]=str1[k+1]
не будет работать вообще.
Python обладает очень сильными встроенными возможностями обработки строк.Вы можете использовать регулярные выражения, например, чтобы сделать вашу замену легко.Если вы хотите придерживаться встроенных возможностей Python, вы можете сделать
place = str1.find(str2)
strf = str1[:place] + str3 + str1[place+len(str2):]
print(strf)
, и это выведет
Rrosaael
, что, я думаю, то, что вы хотели.
(Вау, я чувствую себя идиотом.) Еще лучше, делай то, что предлагает @BertKellerman:
'Rafael'.replace('af', 'rosa')