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行。
答案 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 = ""