2016-11-15 9 views
0

私はテキストアドベンチャーゲームを作っていますが、ユーザーがqを使ってゲームを終了できるようにしようとしています。私は何を入力するかわからない、ここに私のコードです。ユーザーにプログラムを終了させる方法

print ("Welcome to Camel!") 
print ("You have stolen a camel to make your way across the great Mobi deset.") 
print ("The natives want their camel back and are chasing you down! Survive your desert trek and out run the natives.") 

print ("Welcome to Camel!") 
print ("You have stolen a camel to make your way across the great Mobi deset.") 
print ("The natives want their camel back and are chasing you down! Survive your desert trek and out run the natives.") 

done = False 
while done == False: 
    print("Print the letter only.") 
    print("A. Drink from your canteen.") 
    print("B. Ahead moderate speed.") 
    print("C. Ahead full speed.") 
    print("D. Stop for the night.") 
    print("E. Status check.") 
    print("Q. Quit.") 

    first_question = input("What do you want to do? ") 

    if first_question.lower() == "q": 
     done = True 

    if done == True: 
     quit 

コードの行はすべてインデントされています(貼り付けをコピーするとウェブサイトが変わってしまいます)。どんな助けもありがとうございます。

+1

コードをコードブロックに編集しました。将来は、コードのセクションをハイライト表示して、{{}}の中括弧でボタンをクリックすると、インデントすることができます – James

+0

https://stackoverflow.com/questions/543309/programatically-stop-execution-of- python-script – AnilRedshift

+0

'quit'とは何ですか?多分あなたは 'break'または 'quit()' - '()'を意味します。しかし 'done if == True:quit'を削除すれば、期待どおりに動作するはずです。 – furas

答えて

-2
print ("Welcome to Camel!") 
print ("You have stolen a camel to make your way across the great Mobi deset.") 

print ("The natives want their camel back and are chasing you down! Survive your desert trek and out run the natives.") 

done = False 

while done == False: 

    print("Print the letter only.") 

    print("A. Drink from your canteen.") 

    print("B. Ahead moderate speed.") 

    print("C. Ahead full speed.") 

    print("D. Stop for the night.") 

    print("E. Status check.") 

    print("Q. Quit.") 

    first_question = input("What do you want to do? ") 

    if first_question.lower() == "q": 

     done = True 

     if done == True: 

      break 

ここで、 'Q'または 'q'を入力すると、プログラムは終了します。 それは集計についてです。それはあなたが尋ねたものですか?

+0

[quit](https://docs.python.org/2/library/constants.html#quit)は、組み込みの方法です – Hamms

+0

私が知る限り、私たちはループを壊すために 'break'を使います。私は本当にここで見ることができません。それで 'quit'がやります。 –

+0

@leafわかりました。したがって、/ whileを使用すると、 'break'が停止する正しい方法になります。しかし、ここでもやめてくれるの? –

0

あなたのプログラムはほぼそのままで、実際にはpython3でも正常に動作します。問題は、python2で、inputが実際にと評価され、と入力されたことです。 python2をサポートするには、raw_inputを使用してください。

関連する問題