我正在进行一些Google python练习,这是一个关于字符串的练习。
我遇到过要求切换两个字符串中每个字符串的前两个字母的地方。
所以它有一个名为mix_up的函数,你基本上必须创建定义。所以基本上我做了两个变量来保存前两个字母中的每一个,然后我使用替换函数,然后将它们一起添加,它应该工作。但相反,我将原始字符串加在一起,字母不会切换。
def mix_up(a, b):
first = a[0:2]
second = b[0:2]
a.replace(first, second)
b.replace(second, first)
phrase = a + " " + b
return phrase
答案 0 :(得分:3)
问题是replace
方法返回一个新字符串,而不是更改原始字符串。
请改为尝试:
a = a.replace(first, second)
b = b.replace(second, first)
答案 1 :(得分:2)
replace
不具有破坏性,它会创建一个新对象。
重新分配你的价值观,例如:a = a.replace(first, second)
答案 2 :(得分:2)
请注意,除非您另行指定,否则replace()
将替换所有次事件,而不仅仅是第一次。您可以使用以下内容轻松完成此操作:
def mix_up(a, b):
new_a = b[0:2] + a[2:]
new_b = a[0:2] + b[2:]
phrase = new_a + " " + new_b
return phrase
或更简洁:
def mix_up(a, b):
return b[0:2] + a[2:] + " " + a[0:2] + b[2:]
你也可以replace(first, second, 1)
,其中最后一个参数是要替换的最大出现次数。