2017-10-16 55 views
-7

我編寫了一個函數來檢查pangram,但它不起作用。我需要一個解釋,說明我在哪裏弄錯了。我的代碼爲pangram函數有什麼問題?

def is_mypangram(phrase): 
    alphabets = 'abcdefghijklmnopqrstuvwxyz' 
    for letters in alphabets: 
     for char in phrase: 
      if letters not in phrase: 
       return False 
      else: 
       return True 
+4

對於初學者,您可以等到完成迭代之後再返回。另外,請停止大喊,這很無禮。 –

+3

給出[mcve],*「不知何故它不準確」*不是一個好問題描述。同時顯示一些調試工作 - 如果您無法想象發生了什麼,您可能會發現http://pythontutor.com/有用。 – jonrsharpe

+0

好的,謝謝。讓我重述一下。 –

回答

0

讓我們逐行分解您的代碼。

for letters in alphabets需要在一個時間一個字母,所以我們先從一個

for char in phrase發生在短語中的第一個字符,讓我們使用example作爲 短語字符串。所以charË

if letters not in phrase等待,這個檢查,如果aphrase。如果是,則返回False

否則它返回True

你基本上不會在任何地方使用你的char。你也不會繼續循環;這將只檢查字母表中的第一個字母和短語的第一個字母。