我该如何调整下面的函数,以便如果分配给st1的变量根本没有出现在字符串中(1不出现在字符串中,字符串是*********)
),那么该函数只返回字符串(*********)
,但是如果字符串包含1,它将每个1替换为2,如下所示。谢谢你的帮助。在
def replacest1(string,st1,st2):
for i in string:
if i == st1:
N_W = string.replace(st1 , st2)
return N_W
print(replacest1("***1***1***","1","2"))
Tags:
测试:
^{pr2}$结果:
测试:
结果:
或者更好:
请注意,上面定义的函数与问题要求的函数是1:1的对应关系。使用
string
作为标识符是一个很好的做法。我强烈建议不要使用这种标识符。在注意:由于这样一个函数的定义可以完全消除,因为
string.replace()
仍然存在,而它被弃用,因此上面的解决方案仍然包含问题中使用的标识符string
。如果这个函数不能被删除,我会在这里使用一个不同的标识符,但是由于定义一个自己的函数根本不需要,所以我让这个标识符保持原样。以下是如何在不使用
string.replace()
的情况下实现该功能的变体:注意:我更喜欢使用断言来检测编程错误。如果性能在您的用例中不是一个大问题,这些断言不会引起任何麻烦,但是可以防止意外地误用这样的函数:如果您不小心传递了错误的参数,断言将失败并立即给您反馈。在
相关问题 更多 >
编程相关推荐