Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
2020_k3_python講座第3回
Search
k3たっつー
June 13, 2020
Education
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2020_k3_python講座第3回
2020年度のk3のpython講座第3回の内容になります
k3たっつー
June 13, 2020
More Decks by k3たっつー
See All by k3たっつー
2020_k3_python講座第8回
tattsu_hitsuzi
0
46
2020_k3_python講座第7回
tattsu_hitsuzi
0
42
2020_k3_python講座第6回
tattsu_hitsuzi
0
36
2020_k3_python講座第5回
tattsu_hitsuzi
0
69
2020_k3_python講座第4回
tattsu_hitsuzi
0
35
2020_k3_python講座第2回
tattsu_hitsuzi
0
46
2020_k3_python講座第1回
tattsu_hitsuzi
0
58
Other Decks in Education
See All in Education
Sekolah Sabat - Triwulan 3 2026 - Pelajaran 12
hiola
0
5k
AIってなぁに?
kenichiota0711
0
810
Adobe Express
matleenalaakso
2
8.4k
CLASSIFICATION OF CRUDE DRUGS
pawan5505
0
180
2026年度春学期 統計学 第14回 分布についての仮説を検証する ― 仮説検定(1) (2026. 7. 2)
akiraasano
PRO
0
150
私たちはなんでテストするんだっけ? Ver.東北IT物産展2026 in 会津若松
camel_404
3
190
医療事務養成の専門学校でのAI教育 非エンジニアの学生にAIを1年間使ってもらって、感じたこと
naochim2026
0
110
AIがコードを書く時代に、何を教えるのか / What Should We Teach in the Age of AI-Generated Code?
ichiroc
1
560
武藤の処世術を書いてみた
mutomasa
0
120
AI時代のセキュリティ監査
matshogo
PRO
0
120
【新規入学者様】ZEPメタバース校舎ガイド
ainischool
0
140
Soluciones al examen de Geografía 2026. JUNIO (Convocatoria Ordinaria)
juanmartin2026
1
10k
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Bash Introduction
62gerente
615
220k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
420
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
250
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
[SF Ruby Conf 2025] Rails X
palkan
2
1.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Marketing to machines
jonoalderson
1
5.8k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
Visualization
eitanlees
152
17k
ラッコキーワード サービス紹介資料
rakko
1
4.9M
Transcript
K3 Python講座 6月13日 担当:夕月 空(ソラ) 今日のテーマ:タートル
前回のおさらい for,whileでプログラムを繰り返し実行できる リストや辞書で数とか文字列とかをまとめられる for a in range(10): ループ変数
(この場合0~9が入る) 繰り返し回数 for a in [4,6,4,9]: ループ変数 (この場合4,6,4,9の順に入る) リスト string list=[“お”,”も”,”て”,”な”,”し”] number list=[1, 1, 2, 3, 5, 8, 13, 21, 34, 55] 文字列リスト 数値リスト 0番目の要素 string list[0] → “お” number_list[5] → 8
復習問題(ファイル名:L3_0.py) 違う文字探すやつ(語彙力)作ってみましょう 10×10の「あ」のなかにランダムで一つ「お」が混 じってる できた人はゲーム化してみましょう 「お」の位置を入力させて正解かどうか判定する
ああああああああああ ああああああああああ ああああああああああ ああああああああああ ああああああああああ ああああああああああ ああおあああああああ ああああああああああ ああああああああああ ああああああああああ ↑こういうの ヒント:「あ」のリスト作って 0~99の乱数で当たったところの要素を「お」に変える 表示のヒント:print(“文字列”,end=“”)で改行せずに表示できる もしくは文字列の足し算でくっつけてみる(“あ”+”お”=“あお”)
復習問題解答 a:0~9、b:0~9なので 10*a+bで0~99を表せる print(“文字列”,end=“”)で 改行無しで表示できる 10文字表示して 改行して の繰り返し ※要素数100個のリスト→0~99番 ”あ”のリストに100をかけると
“あ”が100個のリストができる 単純に作るより奇麗で見やすい 要素番号をランダムに一つ選んで その番号の要素を”お”に変える 改行
復習問題別解 randomの中の関数 (randomのインポートが必要) 空のリストに”あ”を100回入れてる リストの最初の要素を”お”にして リストをシャッフルすることで “お”をランダムな位置に送ってる 外側のforで各周回ごとに空の文字列を作って その中に一列分の文字列を足して表示して を繰り返してる
やり方は一つじゃありません いろいろ探してみましょう
復習問題解答(発展):ゲーム化してみる プレイヤーに行、列を入力してもらって それに対応する番号の要素を見て それが”お”だったら正解と表示する ここでは簡単にしかやってませんが
興味ある人はいろいろいじくってみましょう 入力する行、列の値は1から始まるのに対して 処理上の値は0から始まるのでこんな変な感じ の変形になる Inputの返り値はstr型になるから int()でint型に型変換してる(第1回参照) (´・ω・`)
本題:タートル 今日の大まかな流れ 1、タートルってなんやねん 2、亀さんを動かしてみよう 3、亀さんの特殊な動き 4、色を塗ってみる
タートルって? 今までの講座では数字とか文字の操作をしてきた 今日はPythonで絵を描いてみる Pythonには絵が描く方法がいろいろあって そのうちの一番わかりやすくて簡単なのがタートル ※ちなみにタートルはもともと子供向けだったりする
※他にはTkinter (追々やる) などがあります ※その代わり複雑なことはできない
亀さんでお絵描き いや亀でお絵描きってなんやねん 基本イメージ:鉛筆を持った亀さんを動かしてその 動いた跡に残る線を使う 右からくるぞ 気をつけろ
亀さんを動かす準備 まずturtleが使えるようにする→import turtle 亀さんを一匹召喚して名前を付ける→t=turtle.Pen() まとめると、 import turtle
t=turtle.Pen() これで準備完了 名前 召喚 もちろん名前は 何でもいいです (Steveとか Alexとかでも()) ←命名:t 不憫すぎる()
亀さんを動かしてみよう 亀さんの動かし方(基本) t.forward(100)・・・tを100だけ前に動かす t.backward(100)・・・tを100だけ後ろに動かす t.right(90)・・・tを90°右に回転
t.left(90)・・・tを90°左に回転 各動きの数字の部分を変えるとその分だけ回転したり進んだりできる Ex)t.forword(200)・・・tを200だけ前に動かす 実際に見たほうが早いので実際にやってみます t.fd(100) t.bk(100) t.rt(90) t.lt(90) とかでもできる t.clearで書いたものを全て消せる t.resetで書いたものを全て消して 亀さんを最初の位置に戻せる
例題1(ファイル名:L1_1.py) 亀さんを使って「田」を描いてみましょう 多少歪んでいてもおkです 速く終わった人はクリーパー作ってみましょうw こーいうの Oミノともいいます() ※呼びましたが来ないでください(理不尽)
例題1解答 タートルのプログラムを書くときは どういう風に描いていくのかを 考えてから書き始めると良いです このプログラムでは
前後運動→曲がる→前後運動の流れで 中の十字を描いてから外側の大きい四角 を描くという流れで描いています 外側の大きい四角を描くときはfor文を 使ってます
例題1追加問題解答: クリーパー そのまま貼ると文字がめっちゃこまく なるので分割しました 左側が下半分、右側が上半分を描いて る感じです スタート 動きのイメージ
さらにいろいろ動かしてみる 亀さんの動かし方(特殊) t.circle(100)・・・半径が100の円を描く 動きが特殊なので実際に見てみましょう t.up()・・・亀さんが鉛筆を上げる(線が描かれなくなる) t.down()・・・亀さんが鉛筆を下ろす(線が描かれるようになる)
t.up() t.down() 愛着湧いてきたw
例題2(ファイル名:L3_2.py) 亀さんを使って「円を3つ」 描いてみましょう 多少位置が違くてもおkです 速く終わった人はテトリミノでも (解答は時間の都合上割愛してます())
こーいうの() (怒られないことを願おう) ←とってもいい練習だと思います 興が乗った人は DT砲でも描いてみましょうw 他意はありません()
例題2解答 僕は斜め移動を使いましたがもち ろん縦横移動でやってもおkです 縦横でやった人はおそらく 位置調整が面倒やったかなと スタート かわいい()
色を付けてみる 亀さんの色の付け方 t.color(“red”)・・・亀さんの持ってる鉛筆の色を赤にする t.begin_fill()・・・塗りつぶす準備 t.end_fill()・・・塗りつぶし実行
beginとendで挟んだ間に描いた図形を塗りつぶす ex) t.begin_fill() t.circle(100) t.end_fill() t.fillcolor(“blue”) とかで 塗りつぶす色と 線の色を変えられる
そのほか そのほかのturtleの機能を軽く紹介します t.hideturtle(),t.showturtle() ・・・亀さんを隠したり現れさせたり t.speed(“fast”)・・・fastest,fast,normal,slow,slowest t.write(“Hello,world!”)・・・亀さんがいる位置に
”Hello,world!”と描く t.pos()・・・亀さんのいる座標を返す t.goto(100,100)・・・座標(100,100)に行く
演習(ファイル名:L3_3.py) スターミー(?)を描いてみましょう→ 色とか形とか違くてええです 完成したら より本家に近づけるかコードを簡単にし てみましょう
質問とか受付中です この演習の質問とかでなくてもよきです ←本家スターミー むしろ質問してくれると嬉しい 108° 36°
演習問題解答 動きを ☆を描く動作*2 〇を描く動作*2 と考えて細かいところを変 数で調整する形にしてます
もちろん全部書き並べても おkです 細かい説明は次ページへ
星の中心から星の角に移動する なお、星型の構造的に正確な移動は不可能(多分) なので、中心からはちょっとズレる color=外枠の色 fillcolor=塗りつぶしの色 ☆を描いてる 星の角から星の中心に戻る スタート ここに行く 54°
初期の向きを反対に向けて 同じように描くと 上下ひっくり返った星が描ける
先に黄色の丸を描くので 初期設定は黄色の丸のことにする 半径の分前に進んで丸を描い て戻ってくる スタート 次に描く赤色の丸の設定をしている 初期: 半径:45、色:黄色
次期: 半径:30、色:赤色
まとめ forward left backward right down up circle begin_fill fillcolor
color end_fill hideturtle showturtle speed
余計な話:アニメーション タートルでアニメーションができたりします 興味がある方は調べてみてください(もちろん聞いてもらえれば教えます) from time import sleep
screen=turtle.getscreen() Screen.tracer(0) と最初に追加して 1フレームの絵を描いたら t.update() sleep(0.01) t.clear()
最後に turtleにはいろいろな機能があります 到底紹介しきれない それらは自分で試行錯誤しながら身に着けてほ しい もちろん僕とかに聞いてもらってもいいです
「こういうことがしたい」とか言ってくれれば 頑張ってアドバイスとかしたいと思います
終わりやで ご清聴(?)ありがとうございました 個人でもturtleで遊んでみてください 質問かなにかあればSlackでもTwitterでもいい ので投げてください~ お疲れ様でした~
夕月空のTwitter: sora28(ソラ) @sora628496 時間があれば僕がturtleで作ったゲームを紹介します タートルの機能がいろいろ書いてあるサイト: https://docs.python.org/ja/3/library/turtle.html