Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中创建Pangram函数,但字母T有问题_Python - Fatal编程技术网

在Python中创建Pangram函数,但字母T有问题

在Python中创建Pangram函数,但字母T有问题,python,Python,首次发布,编程新手。我遇到的问题是,当我运行Pangram函数,并将输入字符串转换为一个集合列表时,该列表仍然有多个“t”,但没有其他字母。当我输入“快速棕色狐狸跳过懒狗”时,当我的代码将其转换为一个有组织的列表以匹配字母表时,有两个t。正如你所看到的,我正在使用打印来查看一切都在做什么 ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','t','u','v','w','x','y',

首次发布,编程新手。我遇到的问题是,当我运行Pangram函数,并将输入字符串转换为一个集合列表时,该列表仍然有多个“t”,但没有其他字母。当我输入“快速棕色狐狸跳过懒狗”时,当我的代码将其转换为一个有组织的列表以匹配字母表时,有两个t。正如你所看到的,我正在使用打印来查看一切都在做什么

['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','t','u','v','w','x','y','z']

上面是我的输入字符串转换成的,有两个t,但所有其他多个字母都消失了。我还尝试手动将上T设置为下T,并将其他随机字母设置为上,而其他字母没有问题

def ispangram(str1, alphabet=string.ascii_lowercase):
    
    str1 = str1.replace(' ','')
    str1 = list(set(str1))
    str1 = [letter.lower() for letter in str1]
    str1.sort()
    print(str1)
    alphabet = list(set(alphabet))
    alphabet.sort()
    print(alphabet)
    
    if str1 == alphabet:
        return 'Is Pangram!'
    else:
        return 'Is not Pangram!'

在收集集合后将字符串转换为小写,应在集合之前将其设置为小写

str1 = list(set(str1.lower()))

您在构建
集之后将字符小写,因此
T
T
被认为是不同的

相反,在构建
集之前使用小写:

def ispangram(str1, alphabet=string.ascii_lowercase):
    str1 = str1.replace(' ','')
    str1 = [letter.lower() for letter in str1]
    str1 = list(set(str1))
    str1.sort()
    print(str1)
或者用更简短的方式:

def ispangram(str1, alphabet=string.ascii_lowercase):
    str1 = sorted(set(str1.replace(' ','').lower()))

在将字母组合成一组之前,请先将其小写…谢谢!我从来没有意识到这一点很重要,假设我可以在任何时候使用小写,正如我们所看到的。谢谢!较短的方式看起来更干净,以前从未见过“sorted()”函数。正如你所看到的,我现在正在做一些基本的事情。