我正在尝试用Python创建一个可以创建混合动物的代码:
杂交('山羊'绵羊') ' geep',' shoat' 杂交('蟹'鱼') (' crish',' fab')
但我不知道如何改变这些词之间的辅音。
答案 0 :(得分:0)
这可以使用正则表达式来实现:[aeiou][a-z]+
与第一个n
个连续辅音之后的动物单词的末尾匹配。 ^((?![aeiou][a-z]+).)+
使用否定超前匹配匹配动物单词开头的前n
个连续辅音。
import re
def hybrize(a1, a2):
ending = "[aeiou][a-z]+"
s_ = f"{ending}"
e_ = f"^((?!{ending}).)+"
a1_s_ = re.sub(s_, "", a1)
a1_e_ = re.sub(e_, "", a1)
a2_s_ = re.sub(s_, "", a2)
a2_e_ = re.sub(e_, "", a2)
return a1_s_ + a2_e_, a2_s_ + a1_e_
print(hybrize("goat", "sheep"))
print(hybrize("sheep", "goat"))
print(hybrize("crab", "fish"))
print(hybrize("fish", "crab"))
输出:
('geep', 'shoat')
('shoat', 'geep')
('crish', 'fab')
('fab', 'crish')