Форум сайта python.su
0
Добрый день!
На питонтьюторе делаю задачу по удалению каждого третьего символа в строке.
Там есть несколько иное решение, у меня своё:
a = str(input()) s = len(a) for i in range(s): if i%3 == 0 and i != 0: # чтоб он не возвращал символ с нулевым индексом print(a[i]) #тут идет проверка, точно ли он показывает нам каждый третий символ b = a.replace(a[i], '') print(b)
mandragoraГде ошибка, подскажите, плз.
d
manragora
g
mandraora
a
mndrgor
Офлайн
0
a = list(input())
c = len(a)
print(c)
for i in range(2, c):
if i % 3 == 0 and i - (i / 3 - 1) <= c: # символ с нулевым индексом проверку не проходит см. строка выше
index = int(i - (i / 3 - 1) - 1) # для компенсации смещения
print(a[index]) #тут идет проверка, точно ли он показывает нам каждый третий символ
a.pop(index)
print(''.join(a))
c = len(a)
Отредактировано BOBAH (Апрель 19, 2019 15:58:18)
Офлайн
0
replace заменяет символ не по индексу, а все символы подходящие символы.
Отредактировано BOBAH (Апрель 19, 2019 15:35:35)
Офлайн
0
mummerНе после 3-го, а после каждого, попробуй в свой скрипт ввести слово rtnrtrnrnt, и переменная b у тебя бесполезная все символы, которые ты удаляешь, на следующей итерации цикла восстанавливаются
программа после третьего прохода удаляет ВСЕ символы
Офлайн
0
Понял, огромное спасибо!
Офлайн