2014-09-01 33 views
-1

大家好,我是新來的編程在Python中,我試圖編寫一個程序來將一個單詞翻譯成拉丁語。我就遇到了這個錯誤,當我進入我的輸入Python 3變量在string.len函數中

回溯(最近通話最後一個):

File "pig_latin_translator.py", line 14, in <module> 
    new_word = word[1:len(new_word)] + first + pyg 

NameError:名字「new_word」沒有定義

這裏是我的代碼。我確信這只是一個noob錯誤,但我不明白爲什麼new_word沒有定義。

pyg = 'ay' 

original = input('Enter a word:') 

turn the original word into lowercase 
word = original.lower() 

if len(original) > 1 and original.isalpha(): 

    # get the first letter of the word 
    first = word[0] 

    # put it all together 
    new_word = word[1:len(new_word)] + first + pyg 

    print(new_word) 

elif len(original) == 0: 

    print(original + pyg) 

else: 
    print('Empty') 
+0

當在'new_word = word [1:len(new_word)] + first + pyg'行中使用'new_word'時,您會發現什麼? – Christian 2014-09-01 03:50:53

回答

0

你得到了這個錯誤,因爲你輸入了下面的語句。

new_word = word[1:len(new_word)] + first + pyg 

正確的說法是

new_word = word[1:len(word)] + first + pyg 
0

您可以

new_word = word[1:] + first + pyg 

因爲你試圖得到了這個詞的其餘部分替代

new_word = word[1:len(new_word)] + first + pyg