这是一个在 codewars 里面的小练习:
目标是做一个函式判断一个字串里面是否有包含所有英文字母。
我的作法是把所有的英文转成 ascii 码,建成一个 list
然后将 list 中非英文的 ascii 码以外的删除。
但是实测时发现有部分数值在 97-122 以外的值并不会被删除。
比方说如果投入的 s = 'abcdef!!!!'
^^→这两码惊叹号会被删除,后面两码不会。
如果是在字母的中间则是连续第二个字符不会被删除。
请问这个判断式的问题在哪里?
感谢大家。
def is_pangram(s):
s = s.lower()
s_list = list(s)
ascii_i = []
for i in s_list:
ascii_i.append(ord(i))
for j in ascii_i:
if j<97 or j>122:
ascii_i.remove(j)
.....