Уведомления

Группа в Telegram: @pythonsu

#1 Июль 12, 2016 23:25:37

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Изменить букву в слове

old_monty
А вообще, можете уже не отвечать на мои сообщения никогда. Ваше мнение меня больше не интересует.
Мне вправлять ваши заблуждения тоже недосуг. Расширяйте кругозор сами.

Офлайн

#2 Июль 12, 2016 23:30:38

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

Изменить букву в слове

JOHN_16
вы оперируете тем что заранее знаете содержимое строки что бы менять там букву.
Не спорю, в варианте с применением replace действительно, я знаю заменяемую букву (точнее, подстроку). Но в первом моем варианте (очень на скорую руку, но все же) я вроде бы сделал близко к условию? По индексу там можно заменить?
old_monty
Это … ну как то по детски что ли. Это не жизненное решение.
Ну пусть даже так. Я вообще любитель, в свободное время изучающий Python, а не профессионал.

Кстати, может есть смысл сделать на этом форуме разделение на профессионалов и любителей? А то какое-то соревнование получается, с заведомо предопределенным исходом не в пользу последних.

Офлайн

#3 Июль 13, 2016 00:45:24

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9873
Репутация: +  853  -
Профиль   Отправить e-mail  

Изменить букву в слове

old_monty
Тогда см. мой первый вариант решения. Он с использованием индекса и без использования срезов, как и просил автор. Он вообще без библиотечных функций, без replace, без join, без преобразования в list и без регулярок. К тому же, это самый первый из всех ответов.
Вот этот вариант - он же медленный. Операция += не меняет строку, строки каждый раз пересоздаются. Если будет миллион символов в строке, а заменить надо будет последний символ, то ближе к концу будет пересоздано миллион строк, многие из которых по миллиону символов.

А .replace() не канает, максимум re.sub() можно применить. Но тогда уж лучше срезы сделать, они яснее.



Отредактировано py.user.next (Июль 13, 2016 00:48:38)

Офлайн

#4 Май 25, 2022 17:48:19

Ascolto
Зарегистрирован: 2022-05-25
Сообщения: 1
Репутация: +  0  -
Профиль   Адрес электронной почты  

Изменить букву в слове

Вот программа, которая заменяет все слова > 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)

Офлайн

#5 Май 25, 2022 17:52:42

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Изменить букву в слове


по-моему вы поставили себе задачу сделать максимально плохо
справились



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version