Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2020_k3_python講座第3回

 2020_k3_python講座第3回

2020年度のk3のpython講座第3回の内容になります

k3たっつー

June 13, 2020
Tweet

More Decks by k3たっつー

Other Decks in Education

Transcript

  1. 前回のおさらい  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
  2. 復習問題(ファイル名:L3_0.py)  違う文字探すやつ(語彙力)作ってみましょう  10×10の「あ」のなかにランダムで一つ「お」が混 じってる  できた人はゲーム化してみましょう  「お」の位置を入力させて正解かどうか判定する

    ああああああああああ ああああああああああ ああああああああああ ああああああああああ ああああああああああ ああああああああああ ああおあああああああ ああああああああああ ああああああああああ ああああああああああ ↑こういうの ヒント:「あ」のリスト作って 0~99の乱数で当たったところの要素を「お」に変える 表示のヒント:print(“文字列”,end=“”)で改行せずに表示できる もしくは文字列の足し算でくっつけてみる(“あ”+”お”=“あお”)
  3. 復習問題解答 a:0~9、b:0~9なので 10*a+bで0~99を表せる print(“文字列”,end=“”)で 改行無しで表示できる 10文字表示して 改行して の繰り返し ※要素数100個のリスト→0~99番 ”あ”のリストに100をかけると

    “あ”が100個のリストができる 単純に作るより奇麗で見やすい 要素番号をランダムに一つ選んで その番号の要素を”お”に変える 改行
  4. 復習問題解答(発展):ゲーム化してみる  プレイヤーに行、列を入力してもらって  それに対応する番号の要素を見て  それが”お”だったら正解と表示する  ここでは簡単にしかやってませんが 

    興味ある人はいろいろいじくってみましょう 入力する行、列の値は1から始まるのに対して 処理上の値は0から始まるのでこんな変な感じ の変形になる Inputの返り値はstr型になるから int()でint型に型変換してる(第1回参照) (´・ω・`)
  5. 亀さんを動かす準備  まずturtleが使えるようにする→import turtle  亀さんを一匹召喚して名前を付ける→t=turtle.Pen()  まとめると、 import turtle

    t=turtle.Pen() これで準備完了 名前 召喚 もちろん名前は 何でもいいです (Steveとか Alexとかでも()) ←命名:t 不憫すぎる()
  6. 亀さんを動かしてみよう  亀さんの動かし方(基本)  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で書いたものを全て消して 亀さんを最初の位置に戻せる
  7. 例題1解答  タートルのプログラムを書くときは  どういう風に描いていくのかを  考えてから書き始めると良いです  このプログラムでは 

    前後運動→曲がる→前後運動の流れで  中の十字を描いてから外側の大きい四角 を描くという流れで描いています  外側の大きい四角を描くときはfor文を 使ってます
  8. 例題2(ファイル名:L3_2.py)  亀さんを使って「円を3つ」 描いてみましょう  多少位置が違くてもおkです  速く終わった人はテトリミノでも  (解答は時間の都合上割愛してます())

    こーいうの() (怒られないことを願おう) ←とってもいい練習だと思います 興が乗った人は DT砲でも描いてみましょうw 他意はありません()
  9. 色を付けてみる  亀さんの色の付け方  t.color(“red”)・・・亀さんの持ってる鉛筆の色を赤にする  t.begin_fill()・・・塗りつぶす準備  t.end_fill()・・・塗りつぶし実行 

    beginとendで挟んだ間に描いた図形を塗りつぶす ex) t.begin_fill() t.circle(100) t.end_fill() t.fillcolor(“blue”) とかで 塗りつぶす色と 線の色を変えられる
  10. 演習(ファイル名:L3_3.py)  スターミー(?)を描いてみましょう→  色とか形とか違くてええです  完成したら  より本家に近づけるかコードを簡単にし てみましょう

     質問とか受付中です この演習の質問とかでなくてもよきです ←本家スターミー むしろ質問してくれると嬉しい 108° 36°
  11. 余計な話:アニメーション  タートルでアニメーションができたりします  興味がある方は調べてみてください(もちろん聞いてもらえれば教えます)  from time import sleep

     screen=turtle.getscreen()  Screen.tracer(0)  と最初に追加して  1フレームの絵を描いたら  t.update()  sleep(0.01)  t.clear()
  12. 終わりやで  ご清聴(?)ありがとうございました  個人でもturtleで遊んでみてください  質問かなにかあればSlackでもTwitterでもいい ので投げてください~  お疲れ様でした~

    夕月空のTwitter: sora28(ソラ) @sora628496 時間があれば僕がturtleで作ったゲームを紹介します タートルの機能がいろいろ書いてあるサイト: https://docs.python.org/ja/3/library/turtle.html