首页 > 解决方案 > 修复检查单词是否出现相邻的 2 个字符的程序

问题描述

我试图让我的程序检查字符串中是否存在字符串中相邻的列表中的 2 个字符的实例,并返回一个不同的字符串来替换这两个字符。

定义主():

dubs = ["ai", "ae", "ao", "au", "ei", "eu", "iu", "oi", "ou", "ui"]
newdubs = [ "eye", "eye", "ow", "ow", "ay","eh-oo", "ew", "oy", "ow","ooey"]

word = input("ENTER WORD : " )
count = 0
fin = []
while count < len(word):

   if word[count:count+2] in dubs:

        if word[count:count+2] == dubs[0]:
            fin.append(newDubs[0] + "-")

        if word[count:count+2] == dubs[1]:
            fin.append(newDubs[1] + "-")

        if word[count:count+2] == dubs[2]:

            fin.append(newDubs[2] + "-")

        if word[count:count+2] == dubs[3]:
            fin.append(newDubs[3] + "-")

        if word[count:count+2] == dubs[4]:
            fin.append(newDubs[4] + "-")

        if word[count:count+2] == dubs[5]:
            fin.append(newDubs[5] + "-")

        if word[count:count+2] == dubs[6]:
            fin.append(newDubs[6] + "-")

        if word[count:count+2] == dubs[7]:
            fin.append(newDubs[7] + "-")

        if word[count:count+2] == dubs[8]:
            fin.append(newDubs[8] + "-")

       if word[count:count+2] == dubs[9]:
            fin.append(newDubs[9] + "-")

    if word[count:count+2] not in dubs:
        fin.append(word[count])

    count+=1
fin= "".join(fin)

print(fin)

wanai我期望wan-eye 的一个词,结果是waneye-i
我还需要运行检查以查看之前的字符dubs是否是元音,但在正常工作之前不要担心

标签: pythonpython-3.x

解决方案


使用zip()+ replace()

dubs = ["ai", "ae", "ao", "au", "ei", "eu", "iu", "oi", "ou", "ui"]
newdubs = [ "eye", "eye", "ow", "ow", "ay","eh-oo", "ew", "oy", "ow","ooey"]

s = 'wanai'
for x, y in zip(dubs, newdubs):
    s = s.replace(x, f'-{y}')

print(s)
# wan-eye

推荐阅读