po-6. 繰り返し(ループ),for,in,ステップ実行

191 Views

December 21, 21

スライド概要

トピックス:Python, プログラミング, Python Tutor, 繰り返し,for, in, ステップ実行

Python プログラミングの基本
https://www.kkaneko.jp/pro/po/index.html

金子邦彦研究室ホームページ
https://www.kkaneko.jp/index.html

profile-image

金子邦彦(かねこくにひこ) 福山大学・工学部・教授 ホームページ: https://www.kkaneko.jp/index.html 金子邦彦 YouTube チャンネル: https://youtube.com/user/kunihikokaneko

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

po-6. 繰り返し(ルー プ) トピックス: 繰り返し(ループ),for,in,ス テップ実行(Python Tutor による演習) URL: https://www.kkaneko.jp/pro/po/index.html (Python プログラミングの基本) 金子邦彦 1

2.

物体の落下距離: 9.8 × (時間)2 ÷ 2 時間は 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ⇒ 同じ式の計算を 11 回繰り返し Python プログラム 実行結果 2

3.

全体まとめ • 処理の繰り返しにより,リストや辞書のすべての 要素を処理できる • リストや辞書で処理の繰り返しを行うときは,for が便利である • for による繰り返し(ループ) 同じ処理や操作を繰り返す 3

4.

アウトライン 6-1 6-2 6-3 項目 復習 リストと繰り返し(ループ) ステップ実行 辞書と繰り返し(ループ) 4

5.

メソッドアクセス,代入 Python プログラムの例 x = 100 a = x + 200 enermy1 = hero.findNearestEnemy() hero.attack(enemy1) • 代入:オブジェクト名 + 「=」 + 式または値またはメソッド呼び出し • メソッドアクセス:オブジェクト名 + 「.」 + メソッド名 +「()」 (引数を付けることも) Python プログラムでは,その他にも,属性アクセス,関数 呼び出し,制御,「*」, 「+」などの演算子,コマンド, 定義など 5

6.

式の抽象化と関数,条件分岐,繰り返し (ループ) • 式の抽象化と関数 • 条件分岐 実行結果 x > 20 のときのみ print("big") が実行される x ≦ 20 のときのみ print("small") が実行される • 繰り返し(ループ) 足し算の 5回繰り返し 0 + 1, 1 + 2, 3 + 3, 6 + 4, 10 + 5 6

7.

リスト • リストは,同じ型の要素の並び • リストの要素には順序がある.0から始まる番号 (添字)が付いている • リストは,要素の挿入,削除により,サイズが増 減する 4 を末尾に挿入 8 の削除 7

8.

辞書 • 辞書は,キーと値(バリュー)のペアの集まり • 辞書に,同じ値のキーは2回以上登場しない 4, "Orange" の削除 3 を "Black" に置き換え 8

9.

Python Tutor の起動 ① ウェブブラウザを起動する ② Python Tutor を使いたいので,次の URL を開く http://www.pythontutor.com/ ③ 「Python」をクリック ⇒ 編集画面が開く 9

10.

Python Tutor でのプログラム実行手順 (1)「Visualize Execution」をク リックして実行画面に切り替える (2)「Last」をクリック. (4)「Edit this code」をク (3) 実行結果を確認する. リックして編集画面に戻る 10

11.

Python Tutor 使用上の注意点① • 実行画面で,次のような赤の表示が出ることがある → 無視してよい 過去の文法ミスに関する確認表示 邪魔なときは「Close」 11

12.

Python Tutor 使用上の注意点② 「please wait ... executing」のとき,10秒ほど待つ. → 混雑しているときは, 「Server Busy・・・」 というメッセージが出ることがある. 混雑している.少し(数秒から数十秒)待つと自 動で表示が変わる(変わらない場合には,操作を もう一度行ってみる) 12

13.

6-1. リストと繰り返し(ループ) 13

14.

繰り返し(ループ) 繰り返し(ループ)では,同じ処理や操作を繰 り返す 物体の落下距離: 9.8 × (時間)2 ÷ 2 時間は 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ⇒ 同じ式の計算を 11 回繰り返し Python プログラム 実行結果 14

15.

繰り返しのプログラム例 x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] for t in x: print((9.8 / 2) * t * t) リストの組み立て 繰り返し for t in x の直後に「:」 (コロン) 字下げも正確に. print((9.8 / 2) * t * t) の前に,「タブ」を 1つだけ 15

16.

演習 資料:17 ~ 20 【トピックス】 • for による繰り返し 16

17.

① Python Tutor のエディタで次のプログラムを入 れる リストの要素を表示する for i in a の直後に「:」 字下げも正確に! print(i) の前に,「タブ (Tab)」を 1つだけ 17

18.

② 実行し,結果を確認する 結果を確認 「Visual Execution」をクリック.そして「Last」をクリック.結果を確認. 「Edit this code」をクリックすると,エディタの画面に戻る 18

19.

③ Python Tutor のエディタで次のプログラムを入 れる 物体の落下.0~10秒まで.1秒ごと for t in x の直後に「:」 字下げも正確に! print((9.8 / 2) * t * t) の前に,「タブ (Tab)」を 1つだけ 19

20.

④ 実行し,結果を確認する ここをドラッグすると, 表示枠が広がる 「Visual Execution」をクリック.そして「Last」をクリック.結果を確認. 「Edit this code」をクリックすると,エディタの画面に戻る 20

21.

6-2. ステップ実行 21

22.

繰り返しのプログラム例 実行結果 22

23.

繰り返しのプログラム例 リストの 組み立て 「y[i] = x[i] * 1.1」を i の値を変えながら 5回繰り返す 23

24.

確認クイズ 次のプログラムで i の値はどのように変化するか? i の値: 0 → 1 → 2 → 3 → 4 「y[i] = x[i] * 1.1」を i の値を変えながら 5回繰り返す 24

25.

答え合わせ 次のプログラムで i の値はどのように変化するか? i の値: 0 → 1 → 2 → 3 → 4 「y[i] = x[i] * 1.1」を i の値を変えながら 5回繰り返す 25

26.

Python Tutor でのステップ実行 ステップ実行により,プログラム実行の流れ を確認できる 26

27.

演習 資料:28 ~ 33 【トピックス】 • Python Tutor でのステップ実 行の操作 • 変数の値の変化 • 実行の流れの変化(ジャン プ) 27

28.

① Python Tutor のエディタで次のプログラムを 入れる 8, 6, 4, 2, 3 の 1.1 倍を求め,結果を別のリストに保存 for i in [0, 1, 2, 3, 4] の直後に「:」 字下げも正確に! y[i] = x[i] * 1.1 と print(y[i]) の前に,「タブ (Tab)」を 1つだけ 28

29.

② 「Visualize Execution」をクリックして,実 行開始 29

30.

③ 実行し,結果を確認する オブジェクト x は 5 個の要素が入った リスト オブジェクト y は 5 個の要素が入った リスト 30

31.

④「First」をクリックして,プログラム実行を 先頭に戻す 31

32.

⑤「Step 1 of 18」と表示されているので, 全部で,ステップ数は 18 あることが分かる (ステップ数と,プログラムの行数は違うもの) 32

33.

⑥ ステップ実行したいので,「Next」をクリック しながら,矢印の動きを確認 ※「Next」ボタンを何度か押し,それ以上進めな くなったら終了 見どころ 3行目,4行目、5行目が 繰り返される 実行が進むと, y の中身が更新される 33

34.

6-3. 辞書と繰り返し 34

35.

辞書 辞書は,キーと値(バリュー)のペアの集まり キー 値(バリュー) 35

36.

繰り返しのプログラム例 辞書の 組み立て 辞書のキー 1, 2, 3 のそれぞれに ついて,値(バリュー)を表示 実行結果 36

37.

演習 資料:38 ~ 39 【トピックス】 • for による繰り返し(ルー プ) 37

38.

① Python Tutor のエディタで次のプログラムを入 れる for i in d の直後に「:」 字下げも正確に! print(i) の前に,「タブ (Tab)」を 1つだけ 38

39.

② 実行し,結果を確認する 「Visual Execution」をクリック.そして「Last」をクリック.結果を確認. 「Edit this code」をクリックすると,エディタの画面に戻る 39

40.

全体まとめ • 処理の繰り返しにより,リストや辞書のすべての 要素を処理できる • リストや辞書で処理の繰り返しを行うときは,for が便利である • for による繰り返し(ループ) 同じ処理や操作を繰り返す 40

41.

関連ページ • Python まとめページ https://www.kkaneko.jp/tools/man/python.html • Python プログラミングを学ぶ Python Tutor, VisuAlgo, Code Combat を使用 https://www.kkaneko.jp/cc/po/index.html • Python プログラム例 https://www.kkaneko.jp/pro/python/index.html • 人工知能の実行(Google Colaboratory を使用) https://www.kkaneko.jp/pro/ni/index.html • 人工知能の実行(Python を使用)(Windows 上) https://www.kkaneko.jp/pro/deepim/index.html 41