【发布时间】:2020-09-24 13:08:08
【问题描述】:
我正在尝试编写一个函数,如果字符串恰好包含子字符串的两个实例,则返回 True;如果不包含,则返回 False。
我收到一个错误:
return' outside function
我觉得我已经很接近了,但我不太明白,如果能指出正确的方向,我将不胜感激。 是否应该使用递归?
s = ("xeroxes")
exes = str(x)
count = 0
def has_two_X(s):
count = s.count(exes)
for exes in s:
count = +1
if count ==2:
return True
else:
return False
if __name__ == "__main__":
print("string has :",count.s(exes))
【问题讨论】:
-
您没有将函数的内容缩进,因此您的
return不在函数中(这就是您的错误消息告诉您的内容)。缩进所有应该在函数中的代码。另外,我假设您的第一行应该在xeroxes周围加上引号。旁注:if boolcondition: return True else: return False可以简化为return boolcondition。而且您的循环对于 count 调用是多余的。所以在这种情况下,整个函数可以折叠到return s.count(exes) == 2。 -
你的缩进看起来很奇怪;函数中的所有代码都需要缩进...
-
你说得对,我编辑了代码并再次尝试,但仍然出现同样的错误
标签: python-3.x string function count