трудности с вводом от пользователя и заменить буквы - PullRequest
1 голос
/ 03 мая 2019

Я пытаюсь написать код, который принимает ввод от пользователя, и заменять каждое вхождение первой буквы на букву e, кроме первой.Например: "ddar astronaut. pldase, stop drasing md!" должно быть dear astronaut. please, stop erasing me!.

И я получаю eear astronaut. please, stop erasing me

Это мой код:

user_input = input("Please enter a string:")
replacemnet = user_input[0]
print(replacemnet)
print(user_input[0:-1:1].replace(replacemnet, "e", -1))

Ответы [ 2 ]

1 голос
/ 03 мая 2019

3-й аргумент str.replace(...) говорит о том, сколько вхождений заменяет максимум.-1 не является допустимым для этого аргумента.то, что вы должны сделать, это вызвать replace в подстроке, с которой вы хотите работать:

d = "ddar astronaut. pldase, stop drasing md!"
new_d = d[0] + d[1:].replace(replacement, 'e')

output

'dear astronaut. please, stop erasing me!'
0 голосов
/ 03 мая 2019

Вы можете использовать понимание списка:

d = "ddar astronaut. pldase, stop drasing md!"
new_d = d[0]+''.join(i if i.lower() != 'd' else 'e' for i in d[1:])

Выход:

'dear astronaut. please, stop erasing me!'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...