154 Views
December 21, 21
スライド概要
トピックス:Python, プログラミング, Python Tutor, リスト,辞書
Python プログラミングの基本
https://www.kkaneko.jp/pro/po/index.html
金子邦彦研究室ホームページ
https://www.kkaneko.jp/index.html
金子邦彦(かねこくにひこ) 福山大学・工学部・教授 ホームページ: https://www.kkaneko.jp/index.html 金子邦彦 YouTube チャンネル: https://youtube.com/user/kunihikokaneko
po-5. リスト,辞書 トピックス: リスト,辞書(Python Tutor による 演習) URL: https://www.kkaneko.jp/pro/po/index.html (Python プログラミングの基本) 金子邦彦 1
リスト 4 を末尾に挿入 8 の削除 辞書 4, "Orange" の削除 3 を "Black" に置き換え 2
全体まとめ① • リストは,同じ型の要素の並び • リストの要素には順序がある.0から始まる番号 (添字)が付いている • リストは,要素の挿入,削除により,サイズが増 減する 4 を末尾に挿入 8 の削除 3
全体まとめ② • 辞書は,キーと値(バリュー)のペアの集まり • 辞書に,同じ値のキーは2回以上登場しない 4, "Orange" の削除 3 を "Black" に置き換え 4
アウトライン 5-1 5-2 5-3 項目 復習 リスト 「リスト」を演習できるオンライン サイトの紹介 辞書 5
メソッドアクセス,代入 Python プログラムの例 x = 100 a = x + 200 enermy1 = hero.findNearestEnemy() hero.attack(enemy1) • 代入:オブジェクト名 + 「=」 + 式または値またはメソッド呼び出し • メソッドアクセス:オブジェクト名 + 「.」 + メソッド名 +「()」 (引数を付けることも) Python プログラムでは,その他にも,属性アクセス,関数 呼び出し,制御,「*」, 「+」などの演算子,コマンド, 定義など 6
Python Tutor の起動 ① ウェブブラウザを起動する ② Python Tutor を使いたいので,次の URL を開く http://www.pythontutor.com/ ③ 「Python」をクリック ⇒ 編集画面が開く 7
Python Tutor でのプログラム実行手順 (1)「Visualize Execution」をク リックして実行画面に切り替える (2)「Last」をクリック. (4)「Edit this code」をク (3) 実行結果を確認する. 8 リックして編集画面に戻る
Python Tutor 使用上の注意点① • 実行画面で,次のような赤の表示が出ることがある → 無視してよい 過去の文法ミスに関する確認表示 邪魔なときは「Close」 9
Python Tutor 使用上の注意点② 「please wait ... executing」のとき,10秒ほど待つ. → 混雑しているときは, 「Server Busy・・・」 というメッセージが出ることがある. 混雑している.少し(数秒から数十秒)待つと自 動で表示が変わる(変わらない場合には,操作を もう一度行ってみる) 10
5-1. リスト 11
リスト • リストは,同じ型の要素の並び • リストの要素には順序がある.0から始まる 番号(添字)が付いている • 要素の削除,挿入によりサイズが増減する 0 2 1 15 8 3 6 4 32 23 12
演習 資料:14 ~ 15 【トピックス】 • リスト 13
① Python Tutor のエディタで次のプログラムを 入れ,実行し,結果を確認する 8, 6, 4, 2, 3 のリストを作る. その後,合計を求める. x = [8, 6, 4, 2, 3] print(sum(x)) 結果の 「23」を確認 「Visual Execution」をクリック.そして「Last」をクリック.結果を確認. 「Edit this code」をクリックすると,エディタの画面に戻る 14
② Python Tutor のエディタで次のプログラムを 入れ,実行し,結果を確認する 6 月は 30日まである.7 月は 31日まである. 月の日数についてのリストを作る ※ うるう年のことは考えないことにする d = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] print(d[6]) print(d[7]) 結果を確認 「Visual Execution」をクリック.そして「Last」をクリック.結果を確認. 「Edit this code」をクリックすると,エディタの画面に戻る 15
リストの性質 • リストは,要素の削除,挿入によりサイズが 増減する 4 を末尾に挿入 8 の削除 16
Python でのリストの組み立て,要素の挿入, 要素の削除 リストの組み立て 要素の挿入 要素の削除 17
演習 資料:19 【トピックス】 • リストでの要素の挿入,削除 18
① Python Tutor のエディタで次のプログラムを 入れ,実行し,結果を確認する x = [15, 8, 6, 32 ,23] x.append(4) x.remove(8) 表示を確認 「Visual Execution」をクリック.そして「Last」をクリック.結果を確認. 「Edit this code」をクリックすると,エディタの画面に戻る 19
5-2. 「リスト」を演習できる オンラインサイトの紹介 20
「リスト」を演習できる オンラインサイトの紹介 リストは,同じ型の要素の並び 21
① ウェブブラウザを起動する ② 次の URL を開く https://visualgo.net/ja ③ 「Linked List (連結リスト)」をクリック 22
④ 説明が出る場合がある.ESC キーを押して,説 明を消す ⑤ 左下のメニューで「Enqueue (入れる)」をク リックし,「Go」をクリック 23
⑥ 末尾に挿入されるので,確認する 24
5-3. 辞書 25
辞書 • • 辞書は,キーと値(バリュー)のペアの集まり 辞書に,同じ値のキーは2回以上登場しない キー 1 2 3 値(バリュー) Red Yellow Blue 26
繰り返しのプログラム例 辞書の 組み立て 辞書のキー 1, 2, 3 のそれぞれに ついて,値(バリュー)を表示 実行結果 27
演習 資料:29 ~ 31 【トピックス】 • 辞書 28
① Python Tutor のエディタで次のプログラムを 入れ,実行し,結果を確認する d = {1: "Red", 2: "Yellow", 3: "Blue"} print(d[1]) print(d[2]) print(d[3]) 結果を確認 「Visual Execution」をクリック.そして「Last」をクリック.結果を確認. 「Edit this code」をクリックすると,エディタの画面に戻る 29
② Python Tutor のエディタで次のプログラムを 入れ,実行し,結果を確認する d[4] = “Orange” は,新しいキー,値(バリュー) の追加 d = {1: "Red", 2: "Yellow", 3: "Blue"} print(d[1]) print(d[2]) print(d[3]) d[4] = "Orange" print(d[4]) 結果を確認 「Visual Execution」をクリック.そして「Last」をクリック.結果を確認. 「Edit this code」をクリックすると,エディタの画面に戻る 30
③ Python Tutor のエディタで次のプログラムを 入れ,実行し,結果を確認する d[3] = “Black” は,値(バリュー)の置き換え d = {1: "Red", 2: "Yellow", 3: "Blue"} print(d[1]) print(d[2]) print(d[3]) d[4] = "Orange“ print(d[4]) d[3] = "Black“ print(d[3]) 結果を確認 「Visual Execution」をクリック.そして「Last」をクリック.結果を確認. 「Edit this code」をクリックすると,エディタの画面に戻る 31
全体まとめ① • リストは,同じ型の要素の並び • リストの要素には順序がある.0から始まる番号 (添字)が付いている • リストは,要素の挿入,削除により,サイズが増 減する 4 を末尾に挿入 8 の削除 32
全体まとめ② • 辞書は,キーと値(バリュー)のペアの集まり • 辞書に,同じ値のキーは2回以上登場しない 4, "Orange" の削除 3 を "Black" に置き換え 33
関連ページ • 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 34