这是怎么了? 无论我输入什么,为什么这总是True?
def duplicates(s):
for c in s:
if s.count(c) > 1:
return False
else:
return True
print(duplicates("god"))
print(duplicates("goo"))
print(duplicates("good"))
答案 0 :(得分:2)
循环主体永远不会执行一次以上,因为无论如何,您都将在第一次迭代中执行True
或False
的返回。
要修复此问题,请仅从循环内返回False
。在循环退出之前,不要返回True
:
def duplicates(s):
for c in s:
if s.count(c) > 1:
return False
return True
函数名有点误导,因为如果没有重复,则返回True
,如果有重复,则返回False
。