如果字符串具有唯一字符,则如何创建返回 True 否则返回 False 的函数

0 python python-3.x

例如:"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)

Pat*_*oli 5

您可以使用set

def unique(s):
    return len(set(s.lower())) == len(s)
Run Code Online (Sandbox Code Playgroud)

set 将删除重复项,因此您可以将其长度与原始长度进行比较。