現在の見出し:2.1節:判定ロジックの作成
見出し一覧
- 2.1節:判定ロジックの作成
- - 勝利条件判定の実装
- - 敗北条件判定の追加
【PR】『Python』を学べる企業・個人向けのプログラミングコース
勝利条件判定の実装
第2章2.1節では、前節(第1章 1.2節)で作成したコードを基盤として、「勝利条件判定」と「敗北条件判定」を実装していきます。現在のコードでは複数の勝利条件が1つの長い論理式でまとめられているため、各勝利パターンの理解と保守が困難になっています。
論理演算子論理演算子は真偽値(True/False)を扱う際に用いられる記号やキーワードです。を使用した複合条件判定を段階的に分解し、条件分岐条件分岐はプログラム内で指定した条件によって処理の分岐を行う制御構造です。によって個別の勝利パターンを明確に判定する処理を実装します。プレイヤーの「グー」対コンピュータコンピュータは様々な計算やデータ処理を行う電子機器です。ーの「チョキ」、プレイヤーの「チョキ」対コンピューターの「パー」、プレイヤーの「パー」対コンピューターの「グー」の3つの勝利パターンを条件分岐で個別に判定し、勝利条件の可読性と保守性を向上させます。
# コード
print("じゃんけんをしましょう!")
print("選択肢: グー、チョキ、パー")
player_choice = input("あなたの選択を入力してください: ")
if player_choice == "グー" or player_choice == "チョキ" or player_choice == "パー":
    print(f"あなたが選んだのは: {player_choice}")
    print("有効な選択です。")
    computer_number = 1
    if computer_number == 1:
        computer_choice = "グー"
    elif computer_number == 2:
        computer_choice = "チョキ"
    else:
        computer_choice = "パー"
    print(f"コンピューターが選んだのは: {computer_choice}")
    if player_choice == computer_choice:
        result = "引き分け"
    elif player_choice == "グー" and computer_choice == "チョキ":
        result = "あなたの勝ち"
    elif player_choice == "チョキ" and computer_choice == "パー":
        result = "あなたの勝ち"
    elif player_choice == "パー" and computer_choice == "グー":
        result = "あなたの勝ち"
    else:
        result = "あなたの負け"
    print(f"結果: {result}")
else:
    print("無効な選択です。グー、チョキ、パーのいずれかを入力してください。")
# 実行結果
じゃんけんをしましょう!
選択肢: グー、チョキ、パー
あなたの選択を入力してください: グー
あなたが選んだのは: グー
有効な選択です。
コンピューターが選んだのは: グー
結果: 引き分け
| 行数 | 種別 | コード | 解説 | 
|---|---|---|---|
| 17行目 | 変更 |     elif player_choice == "グー" and computer_choice == "チョキ": | 前節の複合条件を分解し、グー対チョキの勝利パターンを個別に判定する条件分岐 | 
| 18行目 | 変更 |         result = "あなたの勝ち" | グー対チョキの勝利条件が成立した場合の結果を文字列文字列は文字の並びを表現するデータ型で、テキストデータを扱うための基本的な構造として広く使用されています。変数変数はデータを一時的に記憶しておく場所です。に代入代入は変数に値を割り当てる操作です。する処理 | 
| 19行目 | 新規 |     elif player_choice == "チョキ" and computer_choice == "パー": | 論理演算子andを使用して、チョキ対パーの勝利パターンを個別に判定する条件分岐 | 
| 20行目 | 新規 |         result = "あなたの勝ち" | チョキ対パーの勝利条件が成立した場合の結果を文字列変数に代入する処理 | 
| 21行目 | 新規 |     elif player_choice == "パー" and computer_choice == "グー": | 論理演算子andを使用して、パー対グーの勝利パターンを個別に判定する条件分岐 | 
| 22行目 | 新規 |         result = "あなたの勝ち" | パー対グーの勝利条件が成立した場合の結果を文字列変数に代入する処理 | 
 
                 
                 
                         
              

















