🐸

被遮住的词

数据与文本工具python-data-tinkerer-04-the-masked-word
奖励: 85 XP
|

被遮住的词

上一课,我们把散开的词片重新束成了一句完整提示。现在 Hoppy 在苔藓门旁看见一行门牌咒语,几乎能直接使用,只是中间还压着一个临时符文:"Meet me @ the mossy gate"

如果 Hoppy 下一秒就要把这句提示交给守门精灵,@ 这块遮挡就会显得很碍眼。最省力的做法不是整句重写,也不是重新拆开,而是只把这枚小符文换掉。

先看一眼它是怎么变干净的

先别急着记名字。先盯住这两行输出:第一行还是原来的写法,第二行只改了中间那一个小地方。

masked_sign = "m00n arch"

print("Before:", masked_sign)

clean_sign = masked_sign.replace("0", "o")
print("After:", clean_sign)

你会发现,整句话几乎没动,只是 @ 不见了。你这次施的不是大改咒语,而是一记很轻的小修整:把碍事的那一小块换掉,提示就顺了。

replace() 做这一下替换

当一句话已经基本能读,只是里面有个旧词、脏字符,或者某个小片段不适合继续留着时,replace() 就很好用。它不是让你整句重抄,而是帮你直接动手修那一小块。

这行 masked_note.replace("@", "at") 可以先这样理解:在这句提示里看到 @,就把它换成 at。Hoppy 不需要重抄整张便条,你也不用。换掉这里,就够了。

1
找到 clean_note 那一行

starter 已经把原始字符串和前后两行输出摆好了。你这次只需要改创建 clean_note 的那一行。

2
把 @ 换成 at

replace() 做这一下替换,让 clean_note 变成一条更适合直接拿来用的提示。

3
运行后对照 before / after

先看原句里的 @,再看换完后的版本。你要确认的不是“我背没背下方法名”,而是“我真的把这个小地方修掉了”。

为什么要保留原句?

因为你这次练的就是“看见替换前后”。原句还在,你一眼就能看出到底换掉了哪一小块。

参考答案
点击展开
参考答案:
masked_note = "Meet me @ the mossy gate"

print("Before:", masked_note)

clean_note = masked_note.replace("@", "at")
print("After:", clean_note)
高级技巧
想更进一步?点击展开

程序员会说:replace() 是把字符串里的旧内容换成新内容。名字先轻轻记一下就够了,动作更重要:看到一小块东西碍事时,你不一定要拆,不一定要整句重写,也可以直接把它换掉。

有时候你会把旧词换成新词;有时候你会把一个脏字符换掉,甚至换成空字符串。更复杂的替换以后再说,这一课先把这个轻巧的小修整练熟就好。

Loading...
终端输出
Terminal
Ready to run...