【发布时间】:2016-11-01 19:16:03
【问题描述】:
您好,我需要完成一个正在工作的 Pig 拉丁语翻译课程。翻译者应该使用一个单词,如果它以元音开头,则在末尾添加“ay”,如果它以辅音开头,则将辅音放在后面,然后添加“ay”,它应该继续向后移动,直到遇到一个元音。例如单词“tree”应该变成“eetray”。我不确定我在哪里出错了,但是当我运行它时它不会给我任何东西,所以如果我输入“树”它只会重新启动代码并再次询问一个词。欢迎任何帮助。谢谢!
vowels = "AEIOU"
realLetters = "abcdefghijklmnopqrstuvwxyz"
while true:
isRealWord = True
word = raw_input ("Please tell me a word to translate: ").lower()
for letter in range(len(word)):
if word[letter] in realLetters:
continue
else:
print "That is not a real word. Just leave."
isRealWord = False
if isRealWord == True:
firstLetter = word[0]
secondLetter = word[1]
thirdLetter = word[2]
pigWord0 = word + "ay"
TheRestOfTheWord = word[1:]
pigWord1 = TheRestOfTheWord + firstLetter + "ay"
TheRestOfTheWord = word[2:]
pigWord2 = TheRestOfTheWord + firstLetter + secondLetter + "ay"
TheRestOfTheWord = word[3:]
pigWord3 = TheRestOfTheWord + firstLetter + secondLetter + thirdLetter + "ay"
if pigWord0[0] in vowels:
print pigWord0.lower()
elif pigWord1[0] in vowels:
print pigWord1.lower()
elif pigWord2[0] in vowels:
print pigWord2.lower()
elif pigWord3[0] in vowels:
print pigWord3.lower()
【问题讨论】:
-
我认为您需要修复缩进。
-
并使用正确的引号
-
很明显,通过编辑您的代码,您实际上并没有尝试运行它:通过基本语法修复,它可以毫无问题地运行。没有修复它会失败并给出有用的错误:非标准字符串,错误缩进
-
您预计您的
while True:循环何时会中断?它不检查isRealWord的值。但是,目前,这是一个 NameError,因为您没有大写True。 -
我已经复制了您的问题并有一个解决方案:一旦您解决了缩进和语法问题,我将发布并解释如何解决它。
标签: python python-2.7