我尝试创建一个函数,该函数在文本中找到一个被删除的单词(这是函数的一个参数)(这是第二个参数),并用astrerisks替换该单词的所有实例。
def censor(text, word):
if word in text:
position = text.index(word)
new_text = text[0: position] + "*"*len(word) + text[position+len(word):]
censor(new_text,word)
else:
return text
phrase_with = raw_input("Type the sentence")
foo= raw_input("Type the censored word")
print censor(phrase_with, foo)
但是当我在函数内部调用函数时它会停止工作。
并返回" 无"。为什么?我怎样才能使它工作?
在同一个函数中调用函数的规则是什么?
答案 0 :(得分:0)
你需要像这样返回递归结果:
long a = 2147483647;
long b = 2147483647;
long mult = a * b;
System.out.println((int) mult); // 1
System.out.println(mult); // 4611686014132420609
System.out.println((double) mult); // 4.6116860141324206E18
这是因为函数在def censor(text, word):
if word in text:
position = text.index(word)
new_text = text[0: position] + "*"*len(word) + text[position+len(word):]
return censor(new_text,word) # <-- Add return here
else:
return text
phrase_with_fuck = raw_input("Type the sentence")
fuck = raw_input("Type the censored word")
print censor(phrase_with_fuck, fuck)
语句中结束,导致无。