我应该在哪里使用return语句

时间:2019-05-12 18:32:51

标签: python return

我的代码运行正常,但未验证为True或False。 我的问题是 “写一个函数replace(s,old,new),用字符串s中的new替换所有出现的old””

我尝试返回而不是打印,但是结果是“无”

def replace(s, old, new):
    ss = s.split(old)
    js = new.join(ss)
    print(js)

replace("Mississippi", "i", "I") == "MIssIssIppI"


expected result would be True or False.

3 个答案:

答案 0 :(得分:0)

(\s(.*?))将结果返回,但您必须将其分配给变量才能使用(或直接使用整个函数调用)。因此,如果将return更改为print(js)并执行return js,则应该获得print(replace("Mississippi", "i", "I"))

如果您愿意,那么

MIssIssIppI

您将获得想要的结果。

output = replace("Mississippi", "i", "I") if output == "MIssIssIppI": print('True') else: print('False') #OR print(output == 'MIssIssIppI') #simpler way 允许您将函数的结果分配为变量,并根据需要对其进行处理。

return不打印任何内容(如果将print语句更改为return语句),但是它返回其结果,但是您对此不做任何事情。

答案 1 :(得分:0)

只需用它替换print(),就像这样:

def replace(s, old, new):
    ss = s.split(old)
    js = new.join(ss)
    return js

然后,您可以使用以下命令打印比较结果:

print(replace("Mississippi", "i", "I") == "MIssIssIppI")
  

输出:

True

答案 2 :(得分:-1)

def replace(s, old, new):
    ss = s.split(old)
    js = new.join(ss)
    return js

print(replace("Mississippi", "i", "I") == "MIssIssIppI")

在将return语句添加到函数并在调用比较时打印后,这对我来说很好。