在python中,如何在一个由3个字符计时的句子中重复每个单词的第一个字符?

2024-09-28 22:13:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做一个函数,它把一个字符串(句子)作为参数,然后取第一个单词,保存第一个元音(包括元音)之前的所有谐音字符,并将其保存在一个空字符串中。然后我要它拿第二个做同样的事情。。。等等。。。等等。。。你知道吗

例如输入->;“这很好”输出->;Thi iii gogogo

到目前为止,我想到的是:

def lang(text): 
    alist=text.split() 
    kons="nrmg" nytext=" " 
        for word in alist: 
            for tkn in word: 
                if tkn in kons: 
                    nytext+=tkn 
                else: 
                    nytext+=tkn 
                    nytext=nytext*3 
                    nytext=nytext+"" break

    return nytext
print(lang("This is good"))

我得到的是->;T Ti T Ti

我做错什么了?你知道吗

感谢您的帮助!你知道吗

谢谢:)


Tags: 函数字符串textingtlangforti
1条回答
网友
1楼 · 发布于 2024-09-28 22:13:11

因此,第一件事是如果您想以不同的方式跟踪每个单词,那么您需要使用另一个变量(我称为retText),因为每个单词都应该分别处理,结果应该收集在不同的变量中。你知道吗

第二,如果你在寻找第一个元音之前的字母,那么你需要检查这个字母是否是元音。kons变量包含元音,在代码内部,有一个

if not tkn in kons:

检查tkn是否为元音的语句。以下是完整代码:

def lang(text): 
    alist=text.split() 
    kons="aeiouAEIOU"
    retText="" 
    for word in alist: 
        nytext=""
        for tkn in word: 
            if not tkn in kons: 
                nytext+=tkn 
            else: 
                nytext+=tkn 
                retText += nytext*3 + " "
                break
        else:
            retText += word*3 + " " 
    return retText

print(lang("This is good"))

相关问题 更多 >