Форум сайта python.su
old_montyМне вправлять ваши заблуждения тоже недосуг. Расширяйте кругозор сами.
А вообще, можете уже не отвечать на мои сообщения никогда. Ваше мнение меня больше не интересует.
Офлайн
JOHN_16Не спорю, в варианте с применением replace действительно, я знаю заменяемую букву (точнее, подстроку). Но в первом моем варианте (очень на скорую руку, но все же) я вроде бы сделал близко к условию? По индексу там можно заменить?
вы оперируете тем что заранее знаете содержимое строки что бы менять там букву.
old_montyНу пусть даже так. Я вообще любитель, в свободное время изучающий Python, а не профессионал.
Это … ну как то по детски что ли. Это не жизненное решение.
Офлайн
old_montyВот этот вариант - он же медленный. Операция += не меняет строку, строки каждый раз пересоздаются. Если будет миллион символов в строке, а заменить надо будет последний символ, то ближе к концу будет пересоздано миллион строк, многие из которых по миллиону символов.
Тогда см. мой первый вариант решения. Он с использованием индекса и без использования срезов, как и просил автор. Он вообще без библиотечных функций, без replace, без join, без преобразования в list и без регулярок. К тому же, это самый первый из всех ответов.
Отредактировано py.user.next (Июль 13, 2016 00:48:38)
Офлайн
Вот программа, которая заменяет все слова > 4х букв на *
while True:
txt=input('Введите текст : ‘)
b,a=0,list(txt)
a+=’ '
for i in range(len(a)):
if a!=' ': b+=1
else:
if b>4:
for j in range(b):
a='*'
b=0
del a
a=“”.join(a)
txt=a
print(' :',txt,'\n')
Отредактировано Ascolto (Май 25, 2022 18:07:10)
Офлайн
по-моему вы поставили себе задачу сделать максимально плохо
справились
Офлайн