您的提交引发了NameError类型的异常。这发生在您提交的第11行

时间:2013-08-22 10:14:58

标签: python

word = input (" Enter the Word: ")
if word[0].isupper():
    word2 = word
elif word.endswith("s"):
    word2 = word[:-1]
elif word.endswith("ed"):
    word2 = word[:-2]
elif word.endswith("ing"):
    word2 = word[:-3]
if len(word2) <=2:
    print (word)
else:
    print(word2)

错误 - 您的提交引发了NameError类型的异常。这发生在您提交的第11行。

2 个答案:

答案 0 :(得分:2)

if word[0].isupper():

如果第一个字母不是大写字母,则永远不会创建word2。为了防止这种情况,也许可以:

word2 = ''

在你的条件之前。现在,即使第一个字母是小写字母,您也不会获得NameError,但word2将不会是任何内容。

答案 1 :(得分:1)

当您有elif的级联时,请始终使用else:终止它们。您可能认为已涵盖elif中的所有可能性,在这种情况下报告错误。

您的问题是您没有涵盖所有可能性,因此请添加else

if word[0].isupper():
    word2 = word
elif word.endswith("s"):
    word2 = word[:-1]
elif word.endswith("ed"):
    word2 = word[:-2]
elif word.endswith("ing"):
    word2 = word[:-3]
else:
    word2 = ""