Оператор &
делает bitwise and
для двух целых чисел.Ваш цикл for проходит по строке, поэтому переменная цикла i
принимает в качестве значений последовательные символы строки.Отсюда ошибка: вы применяете оператор &
к персонажу.Кроме того, i+1
не имеет смысла: он пытается применить оператор +
к символу, и целое число - python будет жаловаться, что вы не можете объединить символ и целое число.
Выражение i & i+1
былонамеревался дать вам два смежных символа, но это неправильно.
Есть несколько способов продолжить: один - перебрать строку, используя индексы (что, я думаю, вы и пытались сделать, так как вы назвалипеременная for-loop i
(традиционное имя для индекса цикла).
for i in range(len(test)):
сделает i
целым числом в диапазоне от 0
до len(test)-1
.Затем вам нужно вырезать два символа строки, начиная с позиции i
:
for i in range(len(test)):
if test[i:i+2] == "aa":
outp += "x"
else:
outp += test[i]
Вы должны помнить, что индекс по строке идет от 0
до len(string) - 1
, и у вас также естьпомнить, что срез test[i:j]
- это фрагмент строки между индексами i
и j-1
( NOT j
).
Это не особо идиоматический питон, ноНадеюсь, это понятно.