0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Python演習問題_0【じゃんけん②】

Last updated at Posted at 2023-07-02

じゃんけん

じゃんけんを記述してみよう

じゃんけんは2人以上の参加者によって行う。
参加者は向き合い(あるいは円になり)片腕を体の前に出す。 参加者全員で呼吸を合わせ、「じゃん、けん、ぽん」の三拍子のかけ声を発し、「ぽん」の発声と同時に「手」を出す。 この「手」の組み合わせによって勝者と敗者を決定する。

手順

①勝敗のクラスを定義
②出し方のクラスを定義
③「じゃんけん」とコール
④出し手を入力(選択させる)
⑤相手の手を出力(ランダムで)
⑥勝敗を表示
⑦勝敗の合計を表示
⑧3勝したらゲーム終了
⑨勝敗を表示

※⑦以降は、場合によって変更可能


import random

# じゃんけんの手を定義
hands = ["グー", "チョキ", "パー"]

# スコアを管理する変数を初期化
player_wins = 0
computer_wins = 0
draws = 0
# プレイヤーまたはコンピュータが3勝するまでゲームを繰り返す
while player_wins < 3 and computer_wins < 3:
    print("じゃん、けん、ぽん!")
    
    # プレイヤーの手を入力
    player_hand = input("あなたの手を選択してください(グー、チョキ、パー): ")
    while player_hand not in hands:
        player_hand = input("正しい手を選択してください(グー、チョキ、パー): ")
    
    # コンピュータの手をランダムに選択
    computer_hand = random.choice(hands)
    print(f"コンピュータは{computer_hand}を出しました")

    # 勝敗を決定
    if player_hand == computer_hand:
        result = "引き分け"
        draws += 1
    elif (player_hand == "グー" and computer_hand == "チョキ") or \
         (player_hand == "チョキ" and computer_hand == "パー") or \
         (player_hand == "パー" and computer_hand == "グー"):
        result = "勝ち"
        player_wins += 1
    else:
        result = "負け"
        computer_wins += 1
    
    # 結果を表示
    print(f"結果: {result}")
    print(f"プレイヤーの勝ち: {player_wins}, コンピュータの勝ち: {computer_wins}, 引き分け: {draws}")

# ゲーム終了メッセージ
print("ゲーム終了")
print(f"最終結果 - プレイヤーの勝ち: {player_wins}, コンピュータの勝ち: {computer_wins}, 引き分け: {draws}")
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?