2016-10-01 5 views
0

私のpythonにトラブルシューティングをプログラミングして、私は新しい質問へのリンク入力に本当にハードにそれを発見されました:Pythonで新しい質問に入力をリンクする方法(トラブルシューティングプログラム)

Question 1 
    print("Has your car got a flat tyre? 1. Yes 2. No") 
    choice=input("1/2") 
    if choice == "1": 
     goto (Question 2) #How do I link this input 
    elif choice == "2": 
     goto (Question 3) 
    else: 
     print("Answer not applicable") 
    Question 2     #Into this question? 
    print("Have you taken your car to the petrol station? 1. Yes 2. No") 
    choice=input("1/2") 
    if choice == "1": 
     goto (Question 4) 
    elif choice == "2": 
     goto (Question 5) 
    else: 
     print("Answer not applicable") 
    Question 3 
    print("Has your car recently had an MOT? 1. Yes 2. No") 
    choice=input("1/2") 
    if choice == "1": 
     goto (Question 6) 
    elif choice == "2": 
     goto (Question 7) 
    else: 
     print("Answer not applicable") 

私は私のプロジェクトで、さらに行く前にこれを行う方法を知っておく必要があります。すべての助けに感謝します。

+1

あなたはそれを行うことはできませんが、意味がありません。 PythonはGOTOを持っていません。いくつかのマーカーにジャンプすることはできません。関数を使って質問を表現し、適切な関数を呼び出すことを検討してください。 – jonrsharpe

答えて

0

Pythonはラベルやgotoをサポートしていません。あなたがしなければならないことは、以下のコードのようなものです。

QUESTION_1 = "Has your car got a flat tyre? 1. Yes 2. No" 
QUESTION_2 = "Have you taken your car to the petrol station? 1. Yes 2. No" 
QUESTION_3 = "Has your car recently had an MOT? 1. Yes 2. No" 
QUESTION_4 = "" 
QUESTION_5 = "" 
QUESTION_6 = "" 
QUESTION_7 = "" 

def ask_question(question): 
    print(question) 
    answer = input() 
    return answer 

def check_answer(question, answer): 
    if question == QUESTION_1 and answer == "1": 
     question = QUESTION_2 
    elif question == QUESTION_1 and answer == "2": 
     question = QUESTION_3 
    elif question == QUESTION_2 and answer == "1": 
     question = QUESTION_4 
    elif question == QUESTION_2 and answer == "2": 
     question = QUESTION_5 
    elif question == QUESTION_3 and answer == "1": 
     question = QUESTION_6 
    elif question == QUESTION_3 and answer == "2": 
     question = QUESTION_7 
    else: 
     print("Answer not applicable") 

    return question 

question = QUESTION_1 

while True: 
    answer = ask_question(question) 
    question = check_answer(question) 
+0

それは物事を行うための控えめなやり方です - なぜ質問のリストや辞書ではないのですか? – jonrsharpe

+0

私はそれが不愉快であることに同意しますが、ユーザーは明らかにPythonで多くの知識を持っていないので、データ構造を持たないソリューションを実装しました。 –

関連する問題