所以我是编码的初学者,我开始学习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错误是什么?
答案 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,并且无法以相同的方式容纳其中一些调用。
无论如何,并不重要。代码应该可以正常工作。