Skip to main content
 首页 » 编程设计

python之在python中替换字符串中的2个字符

2025年05月04日18cmt

我想知道我哪里出错了。目标是用 X 替换用户输入中的字母 e,用 * 替换空格。这都是在 python 中完成的,结果应该是 hxllo*world

i=0 
str=input('please enter a phrase    ') 
numberOfChar=len(str) 
copy='' 
 
while i < numberOfChar: 
    if str[i] == 'e': 
        copy=str.replace('e','x') 
    elif str[i] == ' ': 
        copy=str.replace(' ', '*') 
    i = i+1 
    print(copy) 

谢谢

更多信息:

它是为大学而设计的,必须使用 while 循环和 if 函数。当我意识到 street.replace 指的是变量名而不是我错误地指的是函数名时,一切都变得清楚了。谢谢大家

请您参考如下方法:

如果我正确理解了您的项目要求,您可能希望完全避免 str.replace() 并使用类似这样的方法,这只是 @Ajax1234 答案的更明确的变体:

string = input('Enter a string: ') 
collector = [] 
 
for char in string: 
   if char == 'e': 
       char = 'x' 
   elif char == ' ': 
       char = '*' 
   collector.append(char) 
 
new_string = ''.join(collector) 

旁注:您不需要循环变量 i 来遍历字符串。您可以直接遍历字符串中的字符,如上所示。

标准库选项是使用 str.translate():

>>> table = str.maketrans(' e', '*x') 
>>> 'hello world'.translate(table) 
'hxllo*world'