【发布时间】:2019-05-19 06:23:13
【问题描述】:
return 语句返回额外的撇号和括号,我不知道为什么。
此代码查找字符串中是否存在子字符串。
def find(the_string, search_this):
if search_this in the_string:
a = the_string.find(search_this)
# returns the unexpected
return (search_this, "found at", str(a))
else:
# the correct output I am looking for
return (search_this + " was not found at " + the_string)
print(find("qweabc","abc"))
print(find("abcd", "xyz"))
第一个 return 语句向我返回了一个不可取的 print 语句。
示例:('abc', 'found at', '3')
第二个 return 语句返回我正在寻找的 print 语句:
例如:xyz was not found at abcd
打印出来时,为什么第一个return语句有多余的括号和撇号?
【问题讨论】:
-
如果您想知道为什么两个回报给出不同的东西,您是否尝试过比较它们?两者有明显区别。
-
@jonrsharpe 你的意思是比较两个返回语句的输出吗?是的,已经通过打印出来进行了比较,但是输出不应该相同吗?
-
不,我的意思是实际上查看代码。您有两条不同的线路,您希望它们做同样的事情,但做不同的事情。那么你有没有检查过 are 行是否相同?它们之间有什么区别?如果你让它们更相似,问题是否仍然存在?
-
您好,您的问题解决了吗?如果是这样,请随时将答案标记为已接受。