pf-6. 条件分岐，ステップ実行（Python 入門）

URL: https://www.kkaneko.jp/pro/pf/index.html

金子邦彦

1

①コンピュータでのプログラム実行は、通常実行が基本②プログラムの流れの制御

2

条件分岐
条件分岐では，変数や式の値によって結果が変わるなどの判断を行う
age の値が 11以下

→ 500

12以上

→ 1800

条件式は「age <= 11」のようになる

3

条件分岐の Python プログラム
age の値が 11以下

→ 500

12以上

→ 1800age = 18
if age <= 11:
print(500)else:print(1800)

条件式は「age <= 11」のようになる

4

trinket• Trinket はオンラインの Python、HTML 等の学習サイト• 有料の機能と無料の機能がある• 自分が作成した Python プログラムを公開し、他の人に実行してもらうことが可能（そのとき、書き替えて実行も可能）• Python の標準機能を登載、その他、次のパッケージがイ
ンストール済み
math, matplotlib.pyplot, numpy, operator, processing, pygal,random, re, string, time, turtle, urllib.request

5

trinket でのプログラム実行• trinket は Python, HTML などのプログラムを書き実行できるサイト• https://trinket.io/python/0fd59392c8のように、違うプログラムには違う URL が割り当てられる

実行、STOP ボタン

ソースコードの実行結果
メイン画面• 実行が開始しないときは、「実行ボタン」で実行• ソースコードを書き替えて再度実行することも可能

6

演習

資料：８，９【トピックス】• 条件分岐• if• else7

① trinket の次のページを開く
https://trinket.io/python/0fd59392c8② 実行する。1800 が表示されることを確認

8

③ 「age = 18」を「age = 10」に書き替える④ 実行する。500 が表示されることを確認⑤ age の値が 8, 9, 10, 11 のときは 500 になり、

12, 13, 14, 15 のときは 1800 になることを確認

9age の値が 13以上のときは，結果は 1800

age の値が 12以下のときは，結果は 500
10

演習
演習問題を解いてみる
資料：12，13【トピックス】• 条件分岐• if• else11条件分岐• 次のプログラムを作成① weight と料金の関係は次の通り
weight の値が 100以下→ 0100より大きい→ 1000② weight = 80 に設定してテスト実行

12

正解の例
trinket のページ
https://trinket.io/python/62f74d3bfc

13

条件分岐 まとめ• 条件分岐は、特定の条件に基づいて、異なる結果を得ることを可能にする• Python の条件分岐では、if, else などのキーワードを使用
ある映画館で、11歳以下のチケットと，12歳以上のチケットで値段の違いがあるとき、条件分岐を使用して、チケット料金を算出できる

age = 18
if age <= 11:
print(500)
else:
print(1800)

age <= 11 のときは、print(500) が実行される
そうでないときは、print(1800) が実行される

14

ステップ実行• ステップ実行では、１行ずつの実行が行われ、そのときの変数の値の変化などを確認できる• ステップ実行により、プログラムの動作を細かく追跡でき、不具合が発生している箇所の特定、プログラムの学習に役立つ• 通常実行は、プログラムを最初から最後まで一度に実行するもの（プログラム実行中の変数の値の変化を確認するなどは困難）。ステップ実行は、プログラムを１行ずつ実行し、実行後にプログラムを一時停止するもの。

15

条件分岐の Python プログラム
age の値が 11以下

→ 500

12以上→ 1800

age = 18
if age <= 11:
print(500)
else:
print(1800)

条件式は「age <= 11」のようになる

16

Python Tutor• Python Tutor というウェブサ
イトを利用しよう
http://www.pythontutor.com/• Web ブラウザを使ってアクセスできる• PythonTutor では，Pythonだ
けでなく，Java，C,，C++，JavaScript，Ruby など，多くのプログラミング言語を学ぶことができる．

17

Python Tutor の使用方法① まず，ウェブブラウザを開く② Python Tutor を利用するために，以下の URL にアクセス
http://www.pythontutor.com/③ 「Python」をクリック⇒ 編集画面が開く

18

Python Tutor の編集画面「Python 3.6」になっている

エディタ（プログラムを書き換えることができる）

実行のためのボタン

19

Python Tutor でのプログラム実行• Python Tutor は Python などのプログラムを書き実行できる
サイト．ステップ実行、変数の値表示などの機能がある。
• Python Tutorのウェブサイトにアクセス．「Python」を選択
https://www.pythontutor.com/

メイン画面で、プログラムを書く

Visualize Execution ボタン

メイン画面に戻るには
Edit this code

変数の値を視覚的に確認できる

通常実行: Last
ステップ実行: 他のボタン

20

Python Tutor でのプログラム実行手順(1)「Visualize Execution」をクリックして実行画面に切り替える(2)「Last」をクリック．

(4)「Edit this code」をク(3) 実行結果を確認する．
リックして編集画面に戻る 21

Python Tutor 使用上の注意点①
実行画面で，赤いエラーメッセージが出ることがある
過去の文法ミスに関する確認表示．
基本的には， 無視して問題ない
邪魔なときは「Close」

22

Python Tutor 使用上の注意点②「please wait ... executing」のとき，１０秒ほど待つ．

• Python Tutor が混雑しているとき， 「ServerBusy・・・」 と表示される場合がある．
• このメッセージは，サーバが混雑していることを示す．
• 数秒から数十秒待つと自動で処理が始まるはずです（しかし，表示が変わらないときは，操作をもう一度試してください）23

演習
資料：25 ～ 35
【トピックス】• Python Tutor
• 字下げ
• :
• 条件分岐• if• else
• ステップ実行24

ステップ実行により確認できること
ステップ実行により，ジャンプの様子を観察

ジャンプの様子を示す
矢印

変数の値の確認もできる

ステップ実行は、ボタンやスライダーでコントロール

25

Python Tutor の起動① ウェブブラウザを起動する② Python Tutor を使いたいので，次の URL を開く
https://www.pythontutor.com/③ 「Python」をクリック⇒ メイン画面が開く26

④ Python Tutor のエディタで次のプログラムを入れる

if (age <= 11)の直後に「:」else の直後に「:」（どちらも，コロン）字下げも正確に！
print の前に，「タブ (Tab)」を 1つだけ27

正しくない字下げ正しい字下げ「delキー」などを使いながら編集28

⑤ 通常実行するために，「Visual Execution」をクリック．そして「Last」をクリック．結果 1800を確認

結果の「1800」を確認

29

⑥プログラム実行を最初の行に戻す操作「First」をクリックして，最初の行に戻す

30

⑦「Step 1 of 3」と表示されているので，全部で，ステップ数は 3 あることが分かる（ステップ数と，プログラムの行数は違うもの）

31

⑧ ステップ実行したいので，「Next」をクリックしながら，矢印の動きを確認．
※「Next」ボタンを何度かクリックし，それ以上進めなくなったら終了

見どころ
2行目から 5行目へジャンプするところ32

⑨ First, Prev, Next, Last ボタンとスライダーによよりプログラム実行を制御してみる

33

⑩ １行目を，次のように「age = 10」と書き換えて，いままでと同じことを行う

見どころ３行目で実行が止まる

34

⑪ メイン画面に戻るには、「Edit this code」をクリック

35

ステップ実行 まとめ• 通常実行は、プログラムを最初から最後まで一度に実行する• ステップ実行は、プログラムを１行ずつ実行し、実行後にプログラムを一時停止するもの• ステップ実行により、プログラムの動作を細かく追跡でき、不具合が発生している箇所の特定、プログラムの学習に役立つ36

①コンピュータでのプログラム実行は、通常実行が基本
通常実行では、プログラムは、最初から最後まで一度に実行される。途中の変数の値を観察するには print やステップ実行を活用しよう。

②プログラムの流れの制御
条件分岐（if など）では、特定の部分のみ実行される。通常実行とは異なり、プログラムの流れが制御される。

37

全体まとめ• 通常実行は、プログラムを最初から最後まで一度に実行する• ステップ実行は、プログラムを１行ずつ実行し、実行後にプログラムを一時停止する。プログラムの動作を細かく追跡できる。
• 条件分岐では、変数や式の値によって結果が変わるなどの判断を行う。年齢（age）が11以下であれば500を、それ以上であれば1800を出力するといった場合、条件式は「age <= 11」となる。

38