Mac OSX上的Python EOF错误

时间:2013-03-26 06:29:44

标签: python unix

所以我是编码的初学者,我开始学习Python一段时间了!最近我写了自己的代码。这是一个从英语到pyg latin的翻译项目(只是一个用语言添加'ay'的单词。现在这是我的代码:

original = raw_input('Name any english word?')       

if len(original) > 0 and original.isalpha():     #Testing if variable has characters and not numbers
    word = original.lower()
    first = word[0]
    if first == 'a'  or first == 'e' or first == 'i' or first == 'o' or first == 'u':
        new_word = word + pyg                    #Word translated to pyg latin
        print new_word
    else:
        new_word = word[1:] + word[0] + pyg
        print new_word
else:
    print "empty"                                #No word active

问题是我的第3行中是否一直出现EOF错误?问题是什么,EOF错误是什么?

1 个答案:

答案 0 :(得分:0)

代码需要比一些缩进修复更多,但我会原谅。这对我在OSx和PC上都有用。

original = raw_input('Name any english word?\n')
PYG = 'ay'
VOWELS = 'aeiou'
if len(original) > 0 and original.isalpha():     #Testing if variable has characters and not numbers
  word = original.lower()
  first = word[0]
  if first in VOWELS:
    new_word = ''.join([word, PYG])                    #Word translated to pyg latin
    print new_word
  else:
    new_word = ''.join([word[1:], word[0], PYG])
    print new_word
else:
  print 'Empty'

使用in''.join()更容易,更加pythonic。 '\n'只在输入查询之前生成换行符。

至于你的奇怪错误......我希望你的Mac只是为了代码的各种问题而抛出一些东西。 EOF表示“文件结束”。 raw_input可以抛出错误,但是您所做的任何调用都不能正常生成错误。或者,可能是因为您无意中使用了Mac附带的旧版本的python,并且无法以相同的方式容纳其中一些调用。

无论如何,并不重要。代码应该可以正常工作。