2017-04-17 2 views
0

저는 자신의 이야기를 만들기 위해 Python에서 Inventor의 프로그램 인 용 영역 하나를 사용하고 있습니다. 어떤 이유로, chooseVillage에서 play again 부분으로 시작하는 코드가 작동하지 않습니다. 그것은 단지 보여주지 않습니다. 저를 도와주세요? 미리 감사드립니다. repl.it here이 프로그램Python 코드가 코드 조각을 실행하지 않습니다.

import random 
import time 

def displayIntro(): 
    print('You are in a land full of dragons. In front of you,') 
    print('you see two caves. In one cave, the dragon is friendly') 
    print('and will share his treasure with you. The other dragon') 
    print('is greedy and hungry, and will eat you on sight.') 
    print() 

def chooseCave(): 
    cave = '' 
    while cave != '1' and cave != '2': 
     print('Which cave will you go into? (1 or 2)') 
     cave = input() 

     return cave 

def checkCave(chosenCave): 
    print('You approach the cave...') 
    time.sleep(2) 
    print('It is dark and spoopy...') 
    time.sleep(2) 
    print('A large dragon jumps out in front of you! He looks at you and...') 
    print() 
    time.sleep(2) 

    friendlyCave = random.randint(1,2) 

    if chosenCave == str(friendlyCave): 
     print('Gives you his treasure') 
     print('You decide to spend it at a village') 
    else: 
     print('Gobbles you down in one bite.') 
     quit() 

def chooseVillage(): 
    village = '' 
    while village != '1' and village != '2' and village != '3': 
    print('Which village will you go to? (1, 2, or 3)') 
    village = input() 

def checkVillage(chosenVillage): 
    print('You approch the city') 
    time.sleep(2) 
    print('It is filled with many stores,') 
    time.sleep(2) 
    print('In one store, a man is standing at it...') 
    time.sleep(2) 
    print('He has a gun, and has his hand by it') 
    time.sleep(2) 
    print('He says Welcome to my store,') 
    print() 
    time.sleep(2) 

    friendlyVillage = random.randint(1, 2, 3) 

    if chosenVillage == str(friendlyVillage): 
    print('And he sells you some weapons.') 
    else: 
    print('He looks at you and says:') 
    time.sleep(2) 
    print('You are not from around here,') 
    time.sleep(4) 
    print('And he shoots you! Better luck next time') 
    quit() 


playAgain = 'yes' 
while playAgain == 'yes' or playAgain == 'y': 

    displayIntro() 

    caveNumber = chooseCave() 

    checkCave(caveNumber) 

    print('Do you want to play again? (yes or no)') 
    playAgain = input() 

링크 아래와 같이

코드이다.

답변

0

기능 chooseVillage은 어느 시점에서 실행되지 않습니다. 재생을 위해 no을 다시 말하면 명령 행에서 직접 chooseVillage()을 실행하여 코드를 실행하면됩니다. 난 당신의 caveNumber = chooseCave() 전에, 그것이 수정 할 print('Do you want to play cave or village?')에 추가 한 다음 chooseVillage()의 코드를 검색하면 chooseCave() 또는

chooseVillage() 당신이 그것에 만 인스턴스화 볼 실행 중 하나에이 입력을 사용하고 싶은 생각 함수는 def chooseVillage():이고 이후에 실행되지 않습니다.

관련 문제