用户输入和替换字母带来的困难

时间:2019-05-03 14:22:02

标签: python string replace

我正在尝试编写代码,以吸收用户的输入,并将除第一个字母外的所有出现的第一个字母替换为字母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 个答案:

答案 0 :(得分:1)

str.replace(...)的第3个参数表示发生了多少次替换。 -1对于此参数无效。 您应该做的是在要使用的子字符串上调用replace:

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

输出

'dear astronaut. please, stop erasing me!'

答案 1 :(得分:0)

您可以使用列表理解:

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!'