2016-11-01 1 views
-5

안녕하세요 저는 수업을 위해 돼지 라틴어 번역기를 완성해야합니다. 번역자는 단어를 알아야하고, 모음으로 시작하면 끝에 "ay"를 추가하고 자음으로 시작하면 자음을 뒤로 가져온 다음 "ay"를 추가하면 "ay"를 추가하여 모음. 예를 들어 "트리"라는 단어는 "에트레이"가되어야합니다. 코드에서 내가 잘못했을 때 어디에 있는지 모르겠지만, 실행할 수있는 것은 아무것도주지 않는다. "트리"에 넣으면 코드를 다시 시작하고 다시 한 번 물어볼 것이다. 어떤 도움이라도 환영받을 것입니다. 감사!돼지 라틴 번역기가 단어를 내 보내지 않을 것입니다.

모든 소문자 비교되고있는 vowels 목록 제외 :

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() 
+0

들여 쓰기를 수정해야한다고 생각합니다. –

+0

적절한 인용 부호를 사용하십시오 –

+0

코드를 편집하여 실제로 실행하려고 시도하지 않은 것이 분명합니다. 기본적인 구문 수정으로 문제없이 작동합니다. 픽스가 없으면 실패하고 유용한 오류가 발생합니다 : 표준이 아닌 문자열, 들여 쓰기가 잘못 입력되었습니다 – TemporalWolf

답변

0

은 내가 고정 코드와 실패 예를 복제 할 수있는, 들여 쓰기/문법 오류가 SO 및/또는 게으른 복사 문제를 용의자 모든 대문자로. aeiou이어야하며 A! = a이어야하며 그 외 모든 것은 소문자입니다.

여전히 구문을 수정해야하지만 질문에 따라 해결됩니다.

관련 문제