我对Python 3和编程很新。我试图找到一个算法,以找出一个句子是一个pangram。由于函数借助于字符串模块,我已经解决了讨价还价的那一面,但我还需要找出非pangrams中有多少不同的字母(已将它们切换为小写)。
非常欢迎任何帮助。
答案 0 :(得分:3)
尝试查看字母组的长度:
len(set(yourstring))
In [8]: set('lowercase')
Out[8]: set(['a', 'c', 'e', 'l', 'o', 's', 'r', 'w'])
In [9]: len(set('lowercase'))
Out[9]: 8
不要忘记删除空格。
In [10]: len(set('The quick brown fox jumps over the lazy dog'.lower().replace(' ', '')))
Out[10]: 26
答案 1 :(得分:1)
如果您不想计算标点符号,请尝试以下操作:
s = "It's the economy, stupid!"
t = set(c.lower() for c in s if c.isalnum())
len(t) #returns 13
或者,如果您只想要信件:
s = "It's the economy, stupid!!!11!!"
t = set(c.lower() for c in s if c.isalpha())
len(t) #returns 13
答案 2 :(得分:0)
你可以试试这个:
s = 'The quick brown fox jumps over the lazy dog'
count = len(set(c.lower() for c in s if c != ' '))
此处,数量为26。