例如:"xwzfyfjvmehjnscfdvyosifv"应该返回False,因为它有几个"f"(在其他重复字符中)
while"fnyqov"应该返回 True。
我的问题是大部分时间我的代码都可以工作,但"xwzfyfjvmehjnscfdvyosifv"一直保持 returnig True。
大写和小写应该受到同等威胁,因此"woOman"应该 return False。
这是我的代码:
def is_isogram(string):
string = string.lower()
if string == "":
return True
for i in string:
if string.count(i) >= 2:
return False
elif is_repeated(string) == True:
return False
else:
return True
def is_repeated(string):
last_letter = ""
for i in string:
if last_letter.lower() == i.lower():
return True
break
last_letter = i
return False
print(is_isogram("xwzfyfjvmehjnscfdvyosifv"))
Run Code Online (Sandbox Code Playgroud)
您可以使用set:
def unique(s):
return len(set(s.lower())) == len(s)
Run Code Online (Sandbox Code Playgroud)
set 将删除重复项,因此您可以将其长度与原始长度进行比较。