0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

夏休みなので小学生とPythonを勉強してみた - 課題4 じゃんけん

Last updated at Posted at 2019-08-13

小学6年生の長男が夏休みの自由研究にPythonを勉強したいというので付き合ってみました。
どこから手を付けていけばわからないので、いくつか課題を出し、それを実現するコードを一緒に書くということを繰り返しました。

この記事では、「課題4 じゃんけん」について扱います。その他の課題については下記の記事をご覧ください。

コードはGitHubにて公開しています。

課題4-1 ランダムにじゃんけんの手を選び表示する

指示

Rock(グー)、Paper(パー)、Scissors(チョキ)のランダムに手を選んで表示するプログラムを作りましょう。

ヒント

ランダムに要素を選択するには、randomモジュールのchoice関数を使います。

回答例

import random

robot_choice = random.choice(['Rock', 'Paper', 'Scissors'])
print('I am ' + robot_choice)

課題4-2 ランダムにじゃんけんの手を選ぶとともにユーザーに手を入力させて表示する

指示

Rock(グー)、Paper(パー)、Scissors(チョキ)のランダムに手を選ぶとともに、ユーザーに手を入力させ、それぞれの手を表示するプログラムを作りましょう。
ユーザーの入力は大文字と小文字のどちらでもよいこととし、Rock、Paper、Scissorsの最初の一字だけでよいものとします。
ユーザーの入力の前後に空白が入力された場合はそれを無視します。

ヒント

文字列はインデックス(添字)を指定して文字を取得できます。

文字列から前後の空白を取り除くにはstrip関数を使います。

キーと値のペアの集合を扱うには、辞書型を使います。

回答例

import random

robot_choice = random.choice(['Rock', 'Paper', 'Scissors'])
user_input = input('Rock, Paper, Scissors, Go! : ')
rock_paper_scissors = {'R': 'Rock', 'P': 'Paper', 'S': 'Scissors'}
user_choice = rock_paper_scissors[user_input.strip()[0].upper()]
print('I am ' + robot_choice)
print('You are ' + user_choice)

課題4-3 ランダムにじゃんけんの手を選ぶとともにユーザーに手を入力させて勝敗を表示する

指示

Rock(グー)、Paper(パー)、Scissors(チョキ)のランダムに手を選ぶとともに、ユーザーに手を入力させ、勝敗を表示するプログラムを作りましょう。

回答例

import random

robot_choice = random.choice(['Rock', 'Paper', 'Scissors'])
user_input = input('Rock, Paper, Scissors, Go! : ')
rock_paper_scissors = {'R': 'Rock', 'P': 'Paper', 'S': 'Scissors'}
user_choice = rock_paper_scissors[user_input.strip()[0].upper()]
print('I am ' + robot_choice)
print('You are ' + user_choice)

win = {'Rock': 'Paper', 'Paper': 'Scissors', 'Scissors': 'Rock'}
if robot_choice == user_choice:
    print('One more time')
elif win[robot_choice] == user_choice:
    print('You win!')
else:
    print('I win!')

実行例

Rock, Paper, Scissors, Go! : P
I am Scissors
You are Paper
I win!
Rock, Paper, Scissors, Go! : r
I am Scissors
You are Rock
You win!
Rock, Paper, Scissors, Go! : s
I am Scissors
You are Scissors
One more time
0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?