Python 3变量在string.len函数中

问题描述:

大家好,我是新来的编程在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

你得到了这个错误,因为你输入了下面的语句。

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

正确的说法是

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

您可以

new_word = word[1:] + first + pyg 

因为你试图得到了这个词的其余部分替代

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