ログアウト中 ログイン

【Python】数当てゲーム作成講座 第2章2.3節「試行回数管理機能の構築」




現在の見出し:2.3節:試行回数管理機能の構築

見出し一覧

  • 2.3節:試行回数管理機能の構築
  • - 試行カウンタの実装
  • - 試行回数表示の実装

【PR】『Python』を学べる企業・個人向けのプログラミングコース

試行カウンタの実装

第2章2.3節では、前節(第2章2.2節)で作成したコードを基盤として、ゲームの実用性を向上させるため、試行回数管理機能を追加実装していきます。

試行回数の管理機能は、ユーザーが何回で正解できたかを表示することによって、ゲーム体験を向上させる重要な要素です。試行カウンタの実装では、attempt_count変数変数はデータを一時的に記憶しておく場所です。を0で初期化し、ユーザーが数値を入力するたびに代入代入は変数に値を割り当てる操作です。演算子演算子は数値や文字列などのデータを扱う際に使用される記号や記述方法です。を使用して、カウンタを1ずつ増加させる仕組みを構築します。

カウンタの更新タイミングは、whilewhile文はプログラミングの制御構造の一つで、条件が真である間に指定された処理を繰り返し実行するループ構文です。文の各ループループは一連の命令を繰り返し実行する構造です。開始時にカウンタを更新することによって、実際の試行回数と表示される回数の一致を保証できます。この仕組みによってユーザーの挑戦回数を正確に追跡し、最終的な成績評価に活用できる機能を実現していきます。

以下が前節のコードに、試行カウンタ機能を追加したプログラムプログラムはコンピュータに対して何をすべきかを指示する一連の命令です。です。試行回数管理変数の初期化、代入演算子による効率的なカウンタ増加処理、各試行時の回数更新機能を実装しています。

# コード
answer_number = 42
attempt_count = 0
while True:
    attempt_count += 1
    user_input = input("1から100までの数値を入力してください: ")
    user_number = int(user_input)
    print("あなたの入力:", user_number)
    if user_number == answer_number:
        print(f"正解です!{answer_number}が正解でした。")
        print("おめでとうございます!")
        break
    elif user_number > answer_number:
        print(f"不正解です。あなたの予想{user_number}は正解より大きいです。")
        print("もう少し小さな数字を試してみてください。")
    else:
        print(f"不正解です。あなたの予想{user_number}は正解より小さいです。")
        print("もう少し大きな数字を試してみてください。")
print("ゲームが終了しました。お疲れ様でした!")
# 実行結果
1から100までの数値を入力してください: 75
あなたの入力: 75
不正解です。あなたの予想75は正解より大きいです。
もう少し小さな数字を試してみてください。
1から100までの数値を入力してください: 35
あなたの入力: 35
不正解です。あなたの予想35は正解より小さいです。
もう少し大きな数字を試してみてください。
1から100までの数値を入力してください: 42
あなたの入力: 42
正解です!42が正解でした。
おめでとうございます!
ゲームが終了しました。お疲れ様でした!
行数 コード 解説
1行目 answer_number = 42 ゲームの正解となる数値42をanswer_number変数に代入する
2行目 attempt_count = 0 試行回数を管理するカウンタ変数を0で初期化する
3行目 while True: 常にTrueの条件でwhile文を設定し無限ループ無限ループはプログラムが終了条件を満たさずに永続的に繰り返される状態で、意図的に作成される場合とプログラミングエラーの場合があります。を作成する
4行目 attempt_count += 1 代入演算子を使用してattempt_count変数を1増加させる
5行目 user_input = input("1から100までの数値を入力してください: ") ループ内でinput()関数関数は一定の処理をまとめたプログラムの塊です。を使用してユーザーから文字列文字列は文字の並びを表現するデータ型で、テキストデータを扱うための基本的な構造として広く使用されています。形式で数値を受け取る
6行目 user_number = int(user_input) int()関数を使用して文字列を整数型に変換し、user_number変数に代入する
7行目 print("あなたの入力:", user_number) ユーザーが入力した数値を分かりやすいメッセージと共に表示する
8行目 if user_number == answer_number: 等価性演算子(==)を使用してユーザー入力値と正解数値を比較する
9行目 print(f"正解です!{answer_number}が正解でした。") 正解時のメッセージをf-stringを使用して動的に生成し表示する
10行目 print("おめでとうございます!") 正解時の追加メッセージを表示してユーザーを祝福する
11行目 break break文を使用してwhile文から即座に脱出しループを終了する
12行目 elif user_number > answer_number: 比較演算子比較演算子は二つの値を比較する際に使用する記号です。(>)を使用してユーザー入力値が正解数値より大きいかを判定する
13行目 print(f"不正解です。あなたの予想{user_number}は正解より大きいです。") 入力値が大きい場合のメッセージをf-stringで動的に生成し表示する
14行目 print("もう少し小さな数字を試してみてください。") ユーザーへの具体的なヒントメッセージを表示する
15行目 else: 上記の条件に該当しない場合(入力値が小さい場合)に実行される処理を定義する
16行目 print(f"不正解です。あなたの予想{user_number}は正解より小さいです。") 入力値が小さい場合のメッセージをf-stringで動的に生成し表示する
17行目 print("もう少し大きな数字を試してみてください。") ユーザーへの具体的なヒントメッセージを表示する
18行目 print("ゲームが終了しました。お疲れ様でした!") while文終了後に実行される最終的なゲーム完了メッセージを表示する
試行回数表示の実装

第2章2.3節「試行回数表示の実装」の続きを見る


すべてのカリキュラムを無料登録で学ぶ

プログラミング・マーケティング・AI活用方法を
今すぐ無料登録すると、全てのコンテンツが視聴可能になります。