这是一个在 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) .....