嗨,我正在 codeacademy 上为 python 做一个在线教程,我已经创建了一个功能性 pyg latin 翻译器,它使用 raw_input 并将其转换为 pyglatin 中的一个单词,但是,当我尝试把这个翻译器变成一个接受一个单词的函数时返回 pyg latin 中的一个单词我得到一个错误。这些工作方式有根本的区别吗?
这是功能翻译器:
original = raw_input("Enter a word in English to translate to Pyg Latin:")
vowels = ["a", "e", "i", "o", "u"]
if len(original) > 0 and original.isalpha():
word = original.lower()
if word[0] in vowels:
translation = word + "ay"
print translation
else:
translation = word[1:] + word[0] + "ay"
print translation
else:
print "This is not a valid entry! Please try again."
# Here is the function that comes up with an error:
vowels = ["a", "e", "i", "o", "u"]
def pyglatin(eng):
if eng.isalpha() and len(eng) > 0:
word = eng.lower()
if word[0] in vowels:
return word + "ay"
else:
return word[1:] + word[0] + "ay"
else:
return False
例如,当我尝试调用该函数并键入 pyglatin(ant) 以查看 ant 一词的翻译时,我收到此错误:
回溯(最近一次通话最后):
文件“”,第 1 行,在 pyglatin(ant) NameError: name 'ant' is not defined
请注意,所有缩进都是正确的,但我可能没有在这里显示正确的间距。我真的只是想知道我的逻辑是否存在根本问题。谢谢!!!