659 Views
August 31, 24
スライド概要
praxiSpaceのイベントでの投影資料です。
子ども向けのPythonプログラミングの入門講座です。
▍対象者
10~13歳前後
▍ゴール
ガチャのプログラムを作りながら、Pythonの基本を身につける。
▍内容
・書き方のルールを知る
・画面に結果を出す(print)
・データに名前をつける(変数)
・計算する(計算記号)
・他のプログラムを使う(モジュール)
・場面ごとに動きを変える(if)
・データをまとめる(リスト)
・くり返す(for)
オンラインで無料の教育・学習系イベントを開催しています。主に子ども向けで、学校教育・受験勉強から少し離れた役に立つ学びを提供しています。 [運営]株式会社まなび梯 https://www.manabibashi.co/
はじめてのPython プログラミング入門 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0)
イベントのゴールとやること ガチャのプログラムを作りながら、Pythonの基本を身につけます。 区分 学ぶこと キーワード 書き方のルールを知る 画面に結果を出す print データに名前をつける 変数 計算する 計算記号 ランダムなデータと 場面の切りかえ 他のプログラムを使う モジュール 場面ごとに動きを変える if まとめたデータと くり返し データをまとめる リスト くり返す for Pythonの入門 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 2
プログラムを作るところ myCompilerを使います。 https://www.mycompiler.io/ja ● オンラインでPythonなどのプログラミング言語を動かせるツールです。 ● サインアップ(アカウント作成)してログインすると、作ったプログラム を見つけやすくなります。 ● 手軽に使えますが、できないこともあります。より深くPythonを使いたい 場合、Google Colabを使ったり、自分のパソコンにPythonをインストール したりすることをおすすめします。 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 3
myCompilerの使い方 プログラムを書いて、動かして、結果を出します。 書いたプログラム を動かすボタン プログラムを 書くところ 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 動かしたプログラム の結果が出るところ 4
よく使うキーボードのショートカット よく使うショートカットは、[Ctrl]とセットで使うものが多いです。 コピー はりつけ コメントの オン・オフ 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 5
プログラムの置き場 このしりょうに書いてあるプログラムは公開しています。 イベント後にふり返る場合などに活用ください。 https://github.com/manabibashi/praxiSpace-Python 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 6
Pythonの入門 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) ● 書き方のルールを知る ● 画面に結果を出す ● データに名前をつける ● 計算する 7
書き方のルールを知る いくつかのルールを守ってプログラミングしましょう。 # 1 説明 大文字と小文字、全角と半角はそれぞれ別 のものです。 python と Python と python はすべて別です。 文字以外は半角 を使います。 2 たとえば足し算の記号は + です。+ ではありません。 3 # の右はコメント です。コメントはプログラムとして実行されません。 コメントにはメモなどを書きます。 4 プログラムは上から下の順 に実行されます。 順番を考えてプログラムを書きましょう。 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 8
[print]画面に結果を出す print()で、かっこの中を画面に出します。 入力 出力 # printの中身を画面に出します。 1 print(1) 1 # 文字は""で囲みます。''でも同じです。 2 print("ネコ") ネコ 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 9
[変数]データに名前をつける〔1/2〕 変数(へんすう)は、数字や文字に名前をつけるものです。 変数を使うと、数字や文字が変わっても同じプログラムを使えます。 変数を作る 変数を使う animal 好きな動物は animal だ ネコ 変数animalを「ネコ」とする。 変数animalの中身を使う。 すると、「ネコ」は変数animalで 使えるようになる。 animalの中身が「ネコ」でも「イ ヌ」でも、使うときには同じプロ グラムですむ。 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 10
[変数]データに名前をつける〔2/2〕 変数の名前には、英数字と _ (アンダースコア)のみを使えます。 また、1文字目に数字は使えません。 入力 出力 # 変数animalを"ネコ"とします。 1 animal = "ネコ" 2 print(animal) ネコ # 変数と文字を組み合わせます。 3 print("好きな動物は" + animal + "だ") 好きな動物はネコだ # + を使わずに、変数と文字を組み合わせます。 # ""の先頭にfをつけて、変数を{}で囲みます。 4 print(f"好きな動物は{animal}だ") 好きな動物はネコだ 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 11
[計算記号]計算する〔1/2〕 + - * / の記号で計算します。 入力 出力 # 足し算 1 print(3 + 2) 5 # 引き算 2 print(3 - 2) 1 # かけ算 3 print(3 * 2) 6 # わり算 4 print(3 / 2) 1.5 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 12
[計算記号]計算する〔2/2〕 変数を使った計算もできます。 入力 出力 1 age = 10 2 print(age) 10 3 age = age + 1 4 print(age) 11 5 age += 1 # age = age + 1 と同じです。 6 print(age) 12 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 13
[練習問題1]変数を使った計算 これまで学んだことを確かめましょう。 [問題1] ● 変数aは5、変数bは4とします。 ● aとbの足し算の結果を画面に出しましょう。 ● 次に、aとbのかけ算の結果を画面に出しましょう。 [問題2] ● 変数aから2を引きます。 ● そして、aとbの足し算の結果を画面に出しましょう。 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 14
[答えの例]変数を使った計算 # 入力 出力 # [問題1]変数aは5、変数bは4とします。 # aとbの足し算の結果を画面に出しましょう。 # 次に、aとbのかけ算の結果を画面に出しましょう。 a = 5 b = 4 print(f"足し算:{a + b}") print(f"かけ算:{a * b}") 足し算: 9 かけ算: 20 # [問題2]変数aから2を引きます。 # そして、aとbの足し算の結果を画面に出しましょう。 5 a = a - 2 # a -= 2 でも同じです。 6 print(f"足し算:{a + b}") 足し算: 7 1 2 3 4 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 15
ランダムなデータと 場面の切りかえ 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) ● 他のプログラムを使う ● 場面ごとに動きを変える 16
[モジュール]他のプログラムを使う〔1/2〕 モジュールを使うと、プログラムでできることが広がります。 モジュールとは、プログラムの集まりのことです。 [モジュールの例] random ランダムなデータを作る math 数学の計算をする datetime 日付・時間を使う os OSの機能を使う 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 17
[モジュール]他のプログラムを使う〔2/2〕 randomモジュールを使うことで、ランダムなデータを作れます。 ゲームやシミュレーションなどに使われます。 入力 出力(例) # randomモジュールを使えるようにします。 1 import random # 0以上1未満のランダムな小数を作ります。 2 r1 = random.random() 3 print(r1) 0.5178687742196… # 1以上10以下のランダムな整数を作ります。 4 r2 = random.randint(1, 10) 5 print(r2) 2 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 18
[if]場面ごとに動きを変える〔1/5〕 場面(条件)に合う場合、合わない場合で動きを変えます。 天気予報 が晴 はい (True) かさを 持っていかない 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) いいえ (False) かさを 持っていく 19
[if]場面ごとに動きを変える〔2/5〕 条件がいくつかある場合、合うかどうかを順番に見ていきます。 天気予報 が晴 はい (True) いいえ (False) かさを 持っていかない 天気予報 が雨 はい (True) 長いかさを 持っていく 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) いいえ (False) 折りたたみがさ を持っていく 20
[if]場面ごとに動きを変える〔3/5〕 ifで場面ごとにプログラムの動きを切りかえます。 if 条件: 条件に合う場合の動き # 1以上5以下のランダムな整数を作ります。 import random x = random.randint(1, 5) print(x) # xが1の場合は実行します。 # 同じかを確かめるには、=を2つ使います。 if x == 1: # 実行する中身は4つの半角スペースで字下げします。 print("1です") 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) xが1 はい (True) 「1です」と 出力する 21
[if]場面ごとに動きを変える〔4/5〕 条件に合わない場合の動きは、elseの中に書きます。 if 条件: 条件に合う場合の動き else: 条件に合わない場合の動き # (前のページの続き) # xが2未満かどうかで動きを変えます。 if x < 2: print("2未満") else: print("2以上") 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) xが 2未満 はい (True) 「2未満」と 出力する いいえ (False) 「2以上」と 出力する 22
[if]場面ごとに動きを変える〔5/5〕 2つ目からの条件にはelifを使います。 if 1つ目の条件: 1つ目の条件に合う場合の動き elif 2つ目の条件: 2つ目の条件に合う場合の動き # xが2未満か4以下かで動きを変えます。 if x < 2: print("2未満") elif x <= 4: print("4以下") else: print("4より上") 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) xが 2未満 はい (True) いいえ (False) 「2未満」 と出力する はい (True) 「4以下」 と出力する xが 4以下 いいえ (False) 「4より上」 と出力する 23
[練習問題2]ガチャのプログラムを作る① これまで学んだことを使って、ガチャのプログラムを作りましょう。 [ガチャのプログラム①の動き] ● 0 か 1 をランダムに作ります。 ● 1 の場合は「あたり」、0 の場合は「はずれ」と出力します。 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 24
[ヒント]ガチャのプログラムを作る① これまで学んだことを使って、ガチャのプログラムを作りましょう。 [ガチャのプログラム①の動き] ● 0 か 1 をランダムに作ります。 ○ randomモジュールのrandintを使います。 ○ ランダムに作った数字は変数に入れておきます。 ● 1 の場合は「あたり」、0 の場合は「はずれ」と出力します。 ○ ifを使います。ランダムに作った数字が 0 か 1 かによっ て、出力する文字を変えます。 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 25
[答えの例]ガチャのプログラムを作る① # 入力 出力(例) # 0 か 1 をランダムに作ります。 1 import random 2 result = random.randint(0, 1) 3 4 5 6 # 1 の場合は「あたり」、 # 0 の場合は「はずれ」と出力します。 if result == 1: print("あたり") else: print("はずれ") 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) あたり はずれ 26
まとめたデータと くり返し 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) ● データをまとめる ● くり返す 27
[リスト]データをまとめる〔1/4〕 リストとは、いくつかのデータをまとめて使えるデータの種類です。 変数と比べて、同じ種類のデータを管理しやすくなります。 変数 リスト animal1 animal2 animal3 ネコ イヌ ネコ 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) animals 0 ネコ 1 イヌ 2 ネコ リスト内のデータには、 0から始まる番号が付き ます。 番号を指定すると、中身 のデータを使えます。 28
[リスト]データをまとめる〔2/4〕 リストを作るには [] を使います。 入力 出力 # データを指定してリストを作ります。 1 animals = ["ネコ", "イヌ", "ネコ"] # リストの中身をすべて出力します。 2 print(animals) ["ネコ", "イヌ", "ネコ"] # 空のリストを作ります。 3 fruits = [] # リストにデータを追加します。 4 fruits.append("リンゴ") 5 fruits.append("バナナ") 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 29
[リスト]データをまとめる〔3/4〕 リスト内のデータを使うには、0から始まる番号を指定します。 入力 1 出力 animals = ["ネコ", "イヌ", "ネコ"] # リスト内の1つ目のデータを出力します。 2 print(animals[0]) ネコ # リスト内の2つ目のデータを出力します。 3 print(animals[1]) イヌ # リスト内の最後のデータを出力します。 4 print(animals[-1]) ネコ 前から数える 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 0 1 2 ["ネコ", "イヌ", "ネコ"] -3 -2 -1 後ろから数える 30
[リスト]データをまとめる〔4/4〕 数え方とデータの消し方をしょうかいします。 入力 1 出力 animals = ["ネコ", "イヌ", "ネコ"] # リスト内の長さ(データの数)を数えます。 2 print(len(animals)) 3 # リスト内の特定のデータの数を数えます。 3 print(animals.count("ネコ")) 2 # リストから特定のデータを消します。 # (いくつかある場合は1つ目を消します) 4 animals.remove("ネコ") 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 31
[練習問題3]ガチャのプログラムを作る② これまで学んだことを使って、ガチャのプログラムを作りましょう。 [ガチャのプログラム②の動き] ● 1回のガチャで、0 か 1 をランダムに作ります。 あたりは 1、はずれは 0 です。 ● 3回ガチャを引きます。 ● あたった数を数えて、結果を出力します。 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 32
[ヒント]ガチャのプログラムを作る② これまで学んだことを使って、ガチャのプログラムを作りましょう。 [ガチャのプログラム②の動き] ● 1回のガチャで、0 か 1 をランダムに作ります。 あたりは 1、はずれは 0 です。 ○ randomモジュールのrandintを使います。 ● 3回ガチャを引きます。 ○ ガチャの結果を入れるリストを作ります。 ○ 3回ガチャを引き、結果をリストに追加します。 ● あたった数を数えて、結果を出力します。 ○ リストから 1 の数を数えて、結果を出力します。 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 33
[答えの例]ガチャのプログラムを作る② 入力 出力(例) 1 import random # ガチャの結果を入れるリストを作ります。 2 results = [] # 0か1をランダムに作り、結果をリストに加えます。 3 results.append(random.randint(0, 1)) 4 results.append(random.randint(0, 1)) 5 results.append(random.randint(0, 1)) # あたった数(1の数)を数え、結果を出力します。 6 win_count = results.count(1) 7 print(f"{win_count}回あたり") 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 2回あたり 34
[別の答えの例]ガチャのプログラムを作る② 入力 出力(例) 1 import random # あたった数を数える変数を作ります。 2 win_count = 0 # 0か1をランダムに作り、結果を足します。 3 win_count += random.randint(0, 1) 4 win_count += random.randint(0, 1) 5 win_count += random.randint(0, 1) # 結果(あたった数)を出力します。 6 print(f"{win_count}回あたり") 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 2回あたり 35
[for]くり返す〔1/3〕 同じ動きをくり返し行えます。 くり返しを使うと、同じプログラムを何度も書かなくてすみます。 [リストの中身を1つずつ出力する] animals 0 ネコ くり返しなし くり返しあり 1 イヌ 2 ウマ print(animals[0]) print(animals[1]) print(animals[2]) for animal in animals: print(animal) 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 36
[for]くり返す〔2/3〕 リストなどのいくつかのデータの集まりを順に実行します。 for 変数 in データの集まり: くり返し実行すること # リストを作ります。 animals = ["ネコ", "イヌ", "ネコ"] # リスト内のデータを先頭から順に取り出します。 for animal in animals: # 実行する中身は半角4文字分字下げします。 print(animal) # 結果は ネコ イヌ ネコ 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) くり返し 回数 animalの 中身 1回目 ネコ 2回目 イヌ 3回目 ネコ 37
[for]くり返す〔3/3〕 指定した回数をくり返す場合、range()を使います。 range() は、数字の集まりを作ります。 0から始まり、指定した数の手前までを順に作ります。 range(2) → 0, 1 range(4) → 0, 1, 2, 3 (開始の数や間の数を変えることもできます) # 4回くり返します。 for i in range(4): print(i) # 結果は 0 1 2 3 # range()で作った数字は使わなくてもよいです。 for _ in range(4): print("?") # 結果は ? ? ? ? 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) くり返し回数 iの中身 1回目 0 2回目 1 3回目 2 4回目 3 38
[練習問題4]ガチャのプログラムを作る③ これまで学んだことを使って、ガチャのプログラムを作りましょう。 [ガチャのプログラム③の動き] ● 1回のガチャで、0 か 1 をランダムに作ります。 あたりは 1、はずれは 0 です。 ● ガチャを引く回数を指定できるようにします。 まずは 10 を指定します。 ● 指定した回数ガチャを引きます。 ● あたった数を数えて、結果を画面に出します。 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 39
[ヒント]ガチャのプログラムを作る③ これまで学んだことを使って、ガチャのプログラムを作りましょう。 [ガチャのプログラム③の動き] ②から変わるところ ● 1回のガチャで、0 か 1 をランダムに作ります。 あたりは 1、はずれは 0 です。 ● ガチャを引く回数を指定できるようにします。 まずは 10 を指定します。 ○ ガチャを引く回数を入れる変数を作り、10 を指定します。 ● 指定した回数ガチャを引きます。 ○ forを使います。指定した回数ガチャを引き、結果をリストに 加えます。 ● あたった数を数えて、結果を画面に出します。 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 40
[答えの例]ガチャのプログラムを作る③
入力
出力(例)
1 import random
2 results = []
# ガチャを引く回数を指定します。
3 n = 10
# 指定した回数ガチャを引き、結果をリストに加えます。
4 for _ in range(n):
5
results.append(random.randint(0, 1))
6 win_count = results.count(1)
7 print(f"{win_count}回あたり")
株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0)
4回あたり
41
[別の答えの例]ガチャのプログラムを作る③
入力
出力(例)
1 import random
2 win_count = 0
# ガチャを引く回数を指定します。
3 n = 10
# 指定した回数ガチャを引き、結果を足します。
4 for _ in range(n):
5
win_count += random.randint(0, 1)
6 print(f"{win_count}回あたり")
株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0)
6回あたり
42
おわりに 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 43
今日のゴールと学んだこと ガチャのプログラムを作りながら、Pythonの基本を身につけました。 区分 学ぶこと キーワード 書き方のルールを知る 画面に結果を出す print データに名前をつける 変数 計算する 計算記号 ランダムなデータと 場面の切りかえ 他のプログラムを使う モジュール 場面ごとに動きを変える if まとめたデータと くり返し データをまとめる リスト くり返す for Pythonの入門 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 44
ふり返り 学んだことをふり返りましょう(1分) [例] ● どんなところが、面白かった? ● どんなところが、むずかしかった? ● 学んだことを、今後どうしていきたい? 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 45
プログラムの置き場 この資料に書いてあるプログラムは公開しています。 イベント後にふり返る場合などに活用ください。 https://github.com/manabibashi/praxiSpace-Python 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 46
作ったプログラムのほぞん タイトルをつけるとプログラムをほぞんできます。あとで使いたい場 合、サインアップしてアカウントを作ることをおすすめします。 タイトルをつける 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) ほぞんする 47
本資料の権利と留意事項 [使用画像の出典] 画像・イラストは以下のサイトよりダウンロードして利用しております。 ● Loose Drawing https://loosedrawing.com/ [本資料のライセンス] ● ● 注記があるものを除いて本資料の「文章」は、株式会社まなび梯(以下「当社」)よりクリエイティブ・コモン ズ・ライセンス(CC-BY 4.0)のもとに提供されています。 なお、本資料のほかの部分(画像・ロゴなど)には、 他の条件でライセンスされている第三者のコンテンツが含まれている場合があります。 [留意事項] ● ● ● ● 本資料に掲載されている会社名、製品名などの固有名詞は、各団体の商標または登録商標です。 本資料に掲載されている製品名などには、必ずしも商標表示(™、®)を付記しておりません。 本資料の内容について正確な記述につとめましたが、当社は本資料の内容に対して何らかの保証をするものでは ありません。 本資料で得られた情報の使用から生じるいかなる損害についても、当社は責任を負わないものとします。 株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0) 48
株主会社まなび梯 Some Rights Reserved. (CC-BY 4.0)