这段代码的顺序有什么问题?

mas*_*c15 0 python python-2.7

我正在尝试用Python创建一个Pig Latin翻译器.我还没有完成的产品,而且我正在使用Codecademy.到目前为止,这是我的代码:

pyg = 'ay'

original = raw_input('Enter a word:')
if len(original) > 0 and original.isalpha():
    print original
    if first == "a" or "e" or "i" or "o" or "u":
        print "vowel"
    else:
        print "consonant"
else:
    print 'empty'
word = original.lower()
first = word [0]
Run Code Online (Sandbox Code Playgroud)

我很确定最后两行是不合适的,但我不知道它们应该去哪里,我不知道为什么.如果有人能向我解释,那就太好了.我只是在这个程序的阶段,我想检查第一个字母是元音还是辅音,我还没有翻译部分.

Roc*_*key 5

您正在定义wordfirst在检查它们的值之后,因此请在定义original之后和检查长度之后尝试移动它们(以避免空值的索引错误).

此外,在您使用的地方if len(original) > 0,您实际上将其简化为if original,True如果它是非空值,它将返回.

另一件事 - 您对元音的检查不会返回预期值.相反,尝试这样的事情:

if first in 'aeiou':
Run Code Online (Sandbox Code Playgroud)

我确信有更好的方法来处理它,但这应该适用于你的情况.

编辑:if语句更改为@Levon的方法(更多Pythonic)