Python-检查是否有一个单词;是等值线;

Python-检查是否有一个单词;是等值线;,python,Python,我可以找到正确的答案,但我确信我是正确的,因为我在空闲状态下通过了所有的测试,但在我的在线课程中,它只通过了一部分——有什么原因吗 def is_isogram(txt): if len(list(txt)) == len(set(txt)): return True else: return False 这可能是因为您没有考虑使用大写字母和小写字母的字符串。使用str.upper或str.lower可能是解决方案。如果是这样的话,像这样的东西可

我可以找到正确的答案,但我确信我是正确的,因为我在空闲状态下通过了所有的测试,但在我的在线课程中,它只通过了一部分——有什么原因吗

def is_isogram(txt):
    if len(list(txt)) == len(set(txt)):
        return True
    else:
        return False

这可能是因为您没有考虑使用大写字母和小写字母的字符串。使用
str.upper
str.lower
可能是解决方案。如果是这样的话,像这样的东西可以一次性完成

def is_isogram(txt):
    seen = set()
    for char in txt.lower():
        if char in seen:
            return False
        seen.add(char)
    return True

这可能是因为您没有考虑使用大写字母和小写字母的字符串。使用
str.upper
str.lower
可能是解决方案。如果是这样的话,像这样的东西可以一次性完成

def is_isogram(txt):
    seen = set()
    for char in txt.lower():
        if char in seen:
            return False
        seen.add(char)
    return True

大多数情况下,由于区分大小写的问题,它失败了。为什么不在代码中添加lower()并尝试一下:

def is_isogram(txt):
    if len(list(txt.lower())) == len(set(txt.lower())):
        return True
    else:
        return False

大多数情况下,由于区分大小写的问题,它失败了。为什么不在代码中添加lower()并尝试一下:

def is_isogram(txt):
    if len(list(txt.lower())) == len(set(txt.lower())):
        return True
    else:
        return False

下面的内容让我通过了测验,我确实需要解释一下上/下

def is_isogram(txt):
    txt = txt.lower()
    if len(list(txt)) == len(set(txt)):
        return True
    else:
        return False

下面的内容让我通过了测验,我确实需要解释一下上/下

def is_isogram(txt):
    txt = txt.lower()
    if len(list(txt)) == len(set(txt)):
        return True
    else:
        return False

大写/小写?大写/小写?