這是一個在 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)
.....