Write a Python program to get a string from a given string where all occurrences of its first char have been changed to '$', except the first char itself
我的代码是这样的:
stringa = "restart"
def swaping(palavra):
prim = palavra[0]
for i in palavra:
if prim in palavra and prim not in palavra[0]:
palavra.replace(prim, "$")
return palavra
print(swaping(stringa))
它应该返回resta$t
,但它返回了相同的形式restart
有人知道为什么它不起作用吗?示例解决方案与我的完全不同,他们选择将字符串一分为二,并最终将其绑定在一起
在我看到的代码中,它永远不会进入
if
循环,因为prim not in palavra[0]
在分配prim = palavra[0]
时总是给出False
,所以您的“字符串”不会更改。 我建议使用以下代码:字符串保持不变的原因是
if
语句总是返回False:prim in palavra
始终为真,因为prim
是字符串palavra
中的第一个字符李>prim not in palavra[0]
总是错误的,因为prim
是palavra[0]
,因此它本身总是错误的李>将它们与
and
子句组合,每次都会得到一个False而且,
str.replace
将替换它找到的每个事件(大多数情况下)。在Python中,除了将字符串一分为二并执行解决方案所执行的操作外,没有办法替换特定索引处的字符无论如何,使用
str.replace
有一个更简单的解决方案:只是一个简单的
replace()
,如下所示:输出: ‘resta$t’
相关问题 更多 >
编程相关推荐