2014-02-19 77 views
0

(这是工作正在进行中) 您好,我正在学习一门叫做“代码学院”的Python课程,并且我正在为PygLatin翻译程序制作英语。当我编译我的代码时,我收到一条错误消息,说我的Python其他:语句被认为是无效的语法

File "python", line 8 
    else: 
    ^
SyntaxError: invalid syntax 

任何帮助将高度赞赏:),这是我的代码。

pyg = 'ay' 
original = raw_input('Enter a word:') 
if len(original) > 0 and original.isalpha(): 
    word = original.lower() 
first = word[0] 
print original 
else: 
print 'empty' 

回答

3

您的缩进是错误的。这三条线:

first = word[0] 

print original 

print 'empty' 

需要缩进一个级别:

pyg = 'ay' 
original = raw_input('Enter a word:') 
if len(original) > 0 and original.isalpha(): 
    word = original.lower() 
    first = word[0] 
    print original 
else: 
    print 'empty' 

记住缩进在Python重要。

0

我不确定这应该是答案还是评论,但是您的格式很糟糕,这可能是您遇到问题的原因。

请记住,空格在Python中很重要。它看起来像是在你的if区块的中途缩进,所以你的else即将到来(到翻译)。

pyg = 'ay' 
original = raw_input('Enter a word:') 
if len(original) > 0 and original.isalpha(): 
    word = original.lower() # entered if block 
first = word[0] # exited if block 
print original 
else: # else?? else what, there's no if!!! 
print 'empty' # and what's more there's nothing IN the else block, this line is unindented 

我在这里猜测你的意思,但口译员不会。我的猜测是,你的意思是写:

pyg = 'ay' 
original = raw_input('Enter a word:') 
if len(original) > 0 and original.isalpha(): 
    # if this condition is true, then do... 
    word = original.lower() 
    first = word[0] 
    print original 
else: 
    # if that condition up there ISN'T true, do... 
    print 'empty'