リストについて話しているときに、ゲームを作ることについて話しましたが、この問題は続かなかったのです。忘れていたわけではなく、どの段階でやるのが最適なのかを考えているだけです。一定期間の学習を経た後、Kanguan はもはや純粋な初心者ではなく、Python の初心者です。今こそそのゲームを作り始める時です。
ゲーム内容:数字当てゲーム
シンプルすぎます。はい、ゲームは難しくありませんが、このゲームに含まれる内容は熟考する価値があります。
ゲームプロセスの説明
プログラムが実行され、特定の範囲内の整数がランダムに選択されます。
ユーザーは数値を入力するように求められ、その数値が推測プログラムによって選択されます。
プログラムは、ユーザーが入力した数字とユーザーが選択した数字を比較し、その数字が同じであれば、ユーザーはゲームを終了します。そうでない場合は、推測が続行されます。
使用頻度が低いユーザーが勝ちます。
分析
プログラム開発の前には、規模の大小を問わず、分析する必要があります。つまり、さまざまな機能ポイントが機能要件に従って分解されます。これにより開発プロセスが決まります。私たちは今、非常に小さなプログラムを作成しており、同じ方法で実行しています。
数字をランダムに選択します
数値をランダムに選択するには、Python のランダム関数、random を使用できます。以下にこの機能を簡単に紹介します。このアプリケーション以外にも拡張して使用できるかどうかを確認します。
私たちはまだ学習方法を強化する必要があります。それは、ヘルプドキュメントを読むことを学ぶことです。
>>> ヘルプ(random.randint)
モジュールrandomのメソッドrandintに関するヘルプ:
random.Random インスタンスの randint(self, a, b) メソッド
両方の終点を含む、範囲 [a, b] のランダムな整数を返します。
ドキュメントを辛抱強く読めば、その使用方法が理解できます。ただし、主要なものは引き続きリストされていますが、各機能の使用方法を確認する前に、対話型モードのヘルプを通じてドキュメントを参照することをお勧めします。
ランダムな整数:
0 から 100 までの偶数をランダムに選択します:
ランダムな浮動小数点数:
ランダムな文字:
複数の文字から特定の数の文字を選択します:
文字列をランダムに選択します:
シャッフル: 元の順序をシャッフルし、ランダムな順序に並べます
少し多いです。ただし、この実験では、random.randint() を値として使用できます。追加のものは、1 つ購入すると 1 つ無料になります (ああ、忘れていました、誰も購入しなかったので、このコースはすべて無料です)。
重要な技術的ポイントの 1 つが突破されました。プログラミングの準備が整いました。もう一度プロセスを整理してみましょう。見せる絵を描いてください:
(注: ここで少し怠けて、このプログラムのフローチャートを描けるかどうか見てみましょう。特に初心者の場合は、自分でフローチャートを描く必要があります。オンラインで友人がこう言っているのを見たところです。独学で学習できます プログラミングをしているのですが、論理的思考が苦手なので、うまく学習できていないのですが、実はフローチャートを描くのが論理的思考力を高めるのに良い方法なのです(絵を描いてください)。 🎜>
画像の準備ができました。直観的に理解すると、次のコードは初心者によって書かれることがよくあります (初心者を表しているため、ベテランの方は文句を言わないでください)。
数値 = ランダム.randint(1,100)
print "100 以内の自然数を入力してください:"
input_number = raw_input()
ifnumber == int(input_number):
「ご想像のとおり、この番号は次のとおりです。」
を出力します。
番号を印刷
それ以外:
「間違っています」と印刷します
最も明白なことは、推測できるのは 1 回だけであり、複数回はできないということです。複数回推測できるように変更するにはどうすればよいですか?頭を使ってコードを読んだり、自分のコードに変更を加えたりして、複数の推測を行うことができますか?
また、入力した数字が大きすぎるのか小さすぎるのかがユーザーにわかるように、利便性を高めることはできますか?
上記の変更のアイデアに基づいて、新しいコードは次のようになります:
数値 = ランダム.randint(1,100)
print "100 以内の自然数を入力してください:"
input_number = raw_input()
ifnumber == int(input_number):
「ご想像のとおり、この番号は次のとおりです。」
を出力します。
番号を印刷
elif 番号 > int(input_number):
「小」を印刷
input_number = raw_input()
elif 番号
「大きいです」を印刷
input_number = raw_input()
それ以外:
「間違っています」と印刷します
はい。これには、ループという新しいものを使用する必要があります。せっかちな場合は、このゲームをさらに改善するために while または for ループを検索できます。急いでいない場合は、この部分については後ほど説明します。
このゲームはまだ終わっていません。ループを使用しても、後で続きます。