0

1.ループから抜け出すために使用breakしていますが、これが発生しない限り、プログラムを継続させる方法がわかりません。入力するだけでwhile:は無効です (または、プログラムが教えてくれます)。ユーザーが空の文字列を入力しても、ゲームを続行したいと考えています。

2.コードが必要になるたびにコードを再入力する必要がないようにする方法はありますか? プログラムが吐き出すための応答がたくさんありますが、これは何度も使用する必要があります。

if action[0]=='go':
    print("You're supposed to go to David!")
elif action[0]=='look':
    print("You can't see that")
elif action[0]=='take':
    print("You don't see the point in taking that.")
else:
    print("I don't recognise that command")

actionプレーヤーの入力からのリストはどこにありますか。それとも、毎回もう一度入力する必要がありますか?

上記を実行する関数を定義する方法がわかりません。また、それが私がすべきことかどうかさえわかりません。

3.私が使用しているいくつかのストーリーの説明は非常に長い文章であり、プレイヤーが横にスクロールしすぎないようにしたい. しかし、入力を節約するために、それらを変数として定義したいと思います。これを回避する方法はありますか。または、毎回入力する必要がありますか print(“““a string here”””)

4.文字列が「look」で始まり、「floor」または「mess」または「rubbish」が含まれている場合、特定の出力を出力したい。これは私が現在持っているものです:

if action[0]=='look':
    if 'floor' in action or 'rubbish' in action or 'trash' or 'mess' in action:
        print('onec')
    elif 'screen' in action or 'computer' in action or 'monitor' in action:
        print('oned')
    elif 'around' in action or 'room' in action or 'apartment' in action:
        print('onee')
    elif 'david' in action or 'tyler' in action or 'boy' in action or 'brat' in action or 'youth' in action:
        print('onef')
        break
    else:
        print("You can't see that")

'onec'で始まるすべての入力に対して出力され'look'ます。

4

4 に答える 4

2
  1. whileステートメントには条件が必要です
  2. 関数を使用して、同じ命令を何度も呼び出すことができます。
  3. 「文字列リテラルは、いくつかの方法で複数行にまたがることができます」
  4. 戦略的に配置された print ステートメントを使用して、 の値を示しますactionif action[0]=='look'

最後に、この質問にこれ以上項目を追加しないでください。むしろ、新しい質問をしてください。このサイトには、その種のことに関する特定のルールがあります。

于 2013-10-11T06:09:12.810 に答える
0
  1. while評価する必要がある条件が必要です。永遠にループさせたい場合は、4>3 のように、常に True と評価される条件を指定してください。while True:最も明確なオプションである を使用した場合は、誰にとっても最適です。
  2. この特定のケースでは、dict() とその .get() メソッドを使用することをお勧めします。このようなもの:

    action_dict = {'go':"You're supposed to go to David!", 
                   'look':"You can't see that",
                   'take':"You don't see the point in taking that."  
                  }
    print(action_dict.get(action[0], "I don't recognise that command")
    

    あなたが今行っていることを再現します。

  3. cjrh が提供するリンクを参照してください: http://docs.python.org/3.3/tutorial/introduction.html#strings
  4. 私たちの読心能力は 10 月に少し落ち込んでいます。そのためには、「うまくいかない」以外の情報が必要です。
于 2013-10-11T06:30:23.453 に答える
0
  1. 無限の While ループを作成するには、 を使用しますwhile True:

  2. dict を使用して、一般的なアクション文字列とその応答を保存できます。

于 2013-10-11T06:08:24.983 に答える
0
  1. 最初に文字列を登録してから、入力が来たら変更します。

     command = "nothing"
     command = input("Enter command: ")
     while command:
    

    または単に:

     while True:
    
  2. はい、自分で考えてみてください。では、リストに入れてみませんresponsesか?

  3. 非常に長い場合は、ファイルに入れます。を使用して必要なときにお読みくださいopen()ファイル処理の詳細 これにより、コードが短くなり、読みやすくなり、効率が向上します。

于 2013-10-11T06:08:44.903 に答える