我的代码运行正常,但未验证为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.
答案 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语句添加到函数并在调用比较时打印后,这对我来说很好。