SlideShare una empresa de Scribd logo
1 de 34
1
po-4. 条件分岐,ステッ
プ実行
金子邦彦
トピックス: 条件分岐,if,else,ステップ実行
(Python Tutor による演習)
URL: https://www.kkaneko.jp/pro/po/index.html
(Python プログラミングの基本)
2
条件分岐,age <= 12 のときは 500,
age > 12 のときは 1200
ステップ実行により,ジャンプの様子を観察
全体まとめ
• 条件分岐では,変数や式の値によって結果が変わ
るなどの判断を行う
条件式は「age <= 12」のようになる
• プログラムは,通常は,上から順に1つずつ実行
される(逐次実行)
• 条件分岐や繰り返し(ループ)では,逐次実行と
は違う実行の流れになる
• ステップ実行により,変数等の変化,プログラム
実行の流れを観察できる
3
アウトライン
4
項目
復習
4-1 条件分岐
4-2 演習
4-3 条件分岐のステップ実行
メソッドアクセス,代入
• 代入:オブジェクト名 + 「=」
+ 式または値またはメソッド呼び出し
• メソッドアクセス:オブジェクト名 + 「.」
+ メソッド名 +「()」 (引数を付けることも)
5
x = 100
a = x + 200
enermy1 = hero.findNearestEnemy()
hero.attack(enemy1)
Python プログラムの例
Python プログラムでは,その他にも,属性アクセス,関数
呼び出し,制御,「*」, 「+」などの演算子,コマンド,
定義など
Python Tutor の起動
① ウェブブラウザを起動する
② Python Tutor を使いたいので,次の URL を開く
http://www.pythontutor.com/
③ 「Python」をクリック ⇒ 編集画面が開く
6
Python Tutor でのプログラム実行手順
7
(1)「Visualize Execution」をク
リックして実行画面に切り替える
(2)「Last」をクリック.
(3) 実行結果を確認する.
(4)「Edit this code」をク
リックして編集画面に戻る
Python Tutor 使用上の注意点①
• 実行画面で,次のような赤の表示が出ることがある
→ 無視してよい
過去の文法ミスに関する確認表示
邪魔なときは「Close」
8
Python Tutor 使用上の注意点②
「please wait ... executing」のとき,10秒ほど待つ.
→ 混雑しているときは, 「Server Busy・・・」
というメッセージが出ることがある.
混雑している.少し(数秒から数十秒)待つと自
動で表示が変わる(変わらない場合には,操作を
もう一度行ってみる)
9
4-1. 条件分岐
10
条件分岐
変数の値によって,結果が変わる(判断)
age の値が 12以下 → 500
13以上 → 1800
11
条件式は「age <= 12」のようになる
条件分岐のプログラム例
12
age = 18
if age <= 12:
print(500)
else:
print(1800)
if (age <= 12)の直後に「:」
else の直後に「:」
(どちらも,コロン)
字下げも正確に!
print の前に,「タブ (Tab)」を 1つだけ
4-2. 演習
13
演習
資料:15 ~ 18
【トピックス】
• 条件分岐
• if
• else
14
15
if (age <= 12)の直後に「:」
else の直後に「:」
(どちらも,コロン)
字下げも正確に!
print の前に,「タブ (Tab)」を 1つだけ
① Python Tutor のエディタで次のプログ
ラムを入れる
16
「delキー」などを使い
ながら編集
正しくない字下げ 正しい字下げ
② 実行するために,「Visual Execution」をク
リック.そして「Last」をクリック.結果を確認
17
結果の
「500」を確認
③ 10 を 30 に書き換えて,実行し,結果を確認
結果は 1800 である
18
「Visual Execution」をクリック.そして「Last」をクリック.結果を確認.
「Edit this code」をクリックすると,エディタの画面に戻る
結果の
「1200」を確認
4-3. 条件分岐のステップ実行
19
プログラム実行
• 命令(コマンド)は,順番に並んでいる
• 通常は,上から順に1つずつ実行される(逐次実
行)
• 条件分岐や繰り返し(ループ)では,逐次実行と
は違う実行の流れになる
※ プログラミング言語の種類によっては,順番に
並んでいないという場合もある: SQL, Scheme,
Prolog など
20
ステップ実行
• ステップ実行により,プログラム実行の流れをビ
ジュアルに観察
21
演習
資料:23 ~ 28
【トピックス】
• Python Tutor でのステップ実
行の操作
• 変数の値の変化
• 実行の流れの変化(ジャン
プ)
22
① まずは,「Visualize Execution」をクリッ
クして,実行開始
23
すでに,プログラムを実行中だったときは,「First」
をクリックして,最初の行に戻すことができる
24
②「Step 1 of 3」と表示されているので,
全部で,ステップ数は 3 あることが分かる
(ステップ数と,プログラムの行数は違うもの)
25
③ ステップ実行したいので,「Next」をクリック
しながら,矢印の動きを確認.
※「Next」ボタンを何度か押し,それ以上進めな
くなったら終了
26
見どころ
2行目から 5行目へ
ジャンプするところ
④ 最後の行まで達したら,「Edit this code」を
クリックして,エディタの画面に戻る
27
⑤ 次のように「age = 10」と書き換えて,い
ままでと同じことを行う
28
見どころ
3行目で実行が止まる
全体まとめ
• 条件分岐では,変数や式の値によって結果が変わ
るなどの判断を行う
条件式は「age <= 12」のようになる
• プログラムは,通常は,上から順に1つずつ実行
される(逐次実行)
• 条件分岐や繰り返し(ループ)では,逐次実行と
は違う実行の流れになる
• ステップ実行により,変数等の変化,プログラム
実行の流れを観察できる
29
演習問題
30
条件分岐
• 次のプログラムを作成
31
① weight と料金の関係は次の通り
weight の値が 100以下 → 0
100より大きい → 1000
② weight = 80 に設定してテスト実行
正解の例
32
全体まとめ
• 条件分岐では,変数や式の値によって結果が変わ
るなどの判断を行う
条件式は「age <= 12」のようになる
• プログラムは,通常は,上から順に1つずつ実行
される(逐次実行)
• 条件分岐や繰り返し(ループ)では,逐次実行と
は違う実行の流れになる
• ステップ実行により,変数等の変化,プログラム
実行の流れを観察できる
33
Python 関連ページ
• Python まとめページ
https://www.kkaneko.jp/tools/man/python.html
• Python 入門(スライド資料とプログラム例)
https://www.kkaneko.jp/pro/pf/index.html
• Python プログラミングの基本(スライド資料とプログラム例)
https://www.kkaneko.jp/pro/po/index.html
• Python プログラム例
https://www.kkaneko.jp/pro/python/index.html
• 人工知能の実行(Google Colaboratory を使用)
https://www.kkaneko.jp/ai/ni/index.html
• 人工知能の実行(Python を使用)(Windows 上)
https://www.kkaneko.jp/ai/deepim/index.html
34

Más contenido relacionado

Más de kunihikokaneko1

cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い kunihikokaneko1
 
cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション  cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション kunihikokaneko1
 
cs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンスcs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンスkunihikokaneko1
 
cs-5. 人工知能の概要
cs-5. 人工知能の概要 cs-5. 人工知能の概要
cs-5. 人工知能の概要 kunihikokaneko1
 
cs-4. プログラミング入門
cs-4. プログラミング入門cs-4. プログラミング入門
cs-4. プログラミング入門kunihikokaneko1
 
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックスcs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックスkunihikokaneko1
 
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素 cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素 kunihikokaneko1
 
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタcs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタkunihikokaneko1
 
mi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョンmi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョンkunihikokaneko1
 
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線kunihikokaneko1
 
mi-6. 画像分類システム
mi-6. 画像分類システムmi-6. 画像分類システム
mi-6. 画像分類システムkunihikokaneko1
 
mi-5. ディープラーニング
mi-5. ディープラーニングmi-5. ディープラーニング
mi-5. ディープラーニングkunihikokaneko1
 
mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習kunihikokaneko1
 
mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例kunihikokaneko1
 
mi-1. 人工知能の概要
mi-1. 人工知能の概要mi-1. 人工知能の概要
mi-1. 人工知能の概要kunihikokaneko1
 
Coding Standards of C++ について
 Coding Standards of C++ について  Coding Standards of C++ について
Coding Standards of C++ について kunihikokaneko1
 
co-3. サブクラス、継承
co-3. サブクラス、継承co-3. サブクラス、継承
co-3. サブクラス、継承kunihikokaneko1
 
co-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出しco-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出しkunihikokaneko1
 

Más de kunihikokaneko1 (20)

cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い cs-8. 表計算ソフトウエアを用いたデータの扱い
cs-8. 表計算ソフトウエアを用いたデータの扱い
 
cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション  cs-7. 乱数,シミュレーション
cs-7. 乱数,シミュレーション
 
cs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンスcs-6. データベースとデータサイエンス
cs-6. データベースとデータサイエンス
 
cs-5. 人工知能の概要
cs-5. 人工知能の概要 cs-5. 人工知能の概要
cs-5. 人工知能の概要
 
cs-4. プログラミング入門
cs-4. プログラミング入門cs-4. プログラミング入門
cs-4. プログラミング入門
 
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックスcs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
cs-3. パノラマ画像,ストリートビュー,3次元コンピュータグラフィックス
 
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素 cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
cs-2. コンピュータによる画像制作,人工知能でできること,情報のコード化,デジタル画像,画素
 
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタcs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
cs-1. 無料ソフトウエア,無料データ,エコシステム,Scratch プログラミング,Scratch のキャラクタ
 
mi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョンmi-8. 人工知能とコンピュータビジョン
mi-8. 人工知能とコンピュータビジョン
 
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
mi-7. 学習と検証, 学習不足, 過学習, 学習曲線
 
mi-6. 画像分類システム
mi-6. 画像分類システムmi-6. 画像分類システム
mi-6. 画像分類システム
 
mi-5. ディープラーニング
mi-5. ディープラーニングmi-5. ディープラーニング
mi-5. ディープラーニング
 
mi-4. 機械学習
mi-4. 機械学習mi-4. 機械学習
mi-4. 機械学習
 
mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習mi-3. データサイエンス・AIの演習
mi-3. データサイエンス・AIの演習
 
mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例mi-2. データサイエンス・AIの事例
mi-2. データサイエンス・AIの事例
 
mi-1. 人工知能の概要
mi-1. 人工知能の概要mi-1. 人工知能の概要
mi-1. 人工知能の概要
 
kaneko202304.pptx
kaneko202304.pptxkaneko202304.pptx
kaneko202304.pptx
 
Coding Standards of C++ について
 Coding Standards of C++ について  Coding Standards of C++ について
Coding Standards of C++ について
 
co-3. サブクラス、継承
co-3. サブクラス、継承co-3. サブクラス、継承
co-3. サブクラス、継承
 
co-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出しco-2. メソッド定義と呼び出し
co-2. メソッド定義と呼び出し
 

po-4. 条件分岐,ステップ実行