为什么我的python方法打印出';无';当我试图打印出该方法返回的字符串时?

为什么我的python方法打印出';无';当我试图打印出该方法返回的字符串时?,python,Python,这就是我遇到的问题,不是返回新单词并打印出来,而是打印“无” text = "hey hey hey,hey" word = 'hey' def censor(text,word): new_word = "" count = 0 if word in text: latter_count = ((text.index(word))+len(word)) while coun

这就是我遇到的问题,不是返回新单词并打印出来,而是打印“无”

    text = "hey hey hey,hey"
    word = 'hey'

    def censor(text,word):
        new_word = ""
        count = 0
        if word in text:
            latter_count = ((text.index(word))+len(word))
            while count < text.index(word):
                new_word+= text[count]
                count += 1
            for i in range(len(word)):
                new_word += '*'
            while latter_count < len(text) :
                new_word += text[latter_count]
                latter_count += 1

            if word in new_word :
                censor(new_word,word)
            else :
                return new_word
    print censor(text,word)
text=“嘿嘿,嘿嘿”
单词=‘嘿’
def审查员(文本、文字):
new_word=“”
计数=0
如果文本中有单词:
后者的计数=((text.index(word))+len(word))
而计数<文本索引(word):
新单词+=文本[计数]
计数+=1
对于范围内的i(len(word)):
新单词+='*'
而后者的计数
如果接近末尾,则在
的第一个分支中不会返回。换成

if word in new_word:
    return censor(new_word,word)

如果文本中的
word
为false,则函数也将返回None,因此您可能希望在末尾添加
else
,以返回空字符串或其他默认值。

如果
接近结尾,则不会返回
的第一个分支。换成

if word in new_word:
    return censor(new_word,word)

如果文本中的
word
为false,则函数也将返回None,因此您可能希望在末尾添加
else
,以返回空字符串或其他默认值。

如果没有return语句,函数将返回
None


可能在执行递归时,
如果text:
中的word为False,则不返回任何内容。您也没有返回递归步骤。如果没有return语句,则必须返回
censor(new\u word,word)

函数返回
None


可能在执行递归时,
如果text:
中的word为False,则不返回任何内容。您也没有返回递归步骤。您必须返回
censor(new\u word,word)

如果函数到达末尾而未命中“return”语句,则与“return None”相同:

def审查(文本、文字): new_word=“” 计数=0 如果文本中有单词: 后者的计数=((text.index(word))+len(word)) 而计数<文本索引(word): 新单词+=文本[计数] 计数+=1 对于范围内的i(len(word)): 新单词+='*' 而后者的计数
如果函数在未命中“return”语句的情况下到达末尾,则与“return None”相同:

def审查(文本、文字): new_word=“” 计数=0 如果文本中有单词: 后者的计数=((text.index(word))+len(word)) 而计数<文本索引(word): 新单词+=文本[计数] 计数+=1 对于范围内的i(len(word)): 新单词+='*' 而后者的计数