Lesson10 ループ、リストを組み合わせよう(復習)

イメージ画像

これまでの復習をしよう

本日は新しく学ぶことはありません。これまでにならった内容を復習します。

今使うソースコードはここからまとめてダウロードできます。 ダウンロードfile_download

前回の復習

前回はグラフを描く方法を学びました。

前回出た重要キーワード

  • import matplotlib.pyplot as plt でグラフを描く方法
  • 散布図を描く方法
  • 散布図のプロットした点を線で結ぶ方法
  • 数学関数のグラフを描く方法

演習の時間

演習の解答はここからダウンロードできます。ダウンロードfile_download

演習1

① 下のようなひし形の模様を描画してみましょう。この描画を行うプログラムをenshu010_1.pyで保存してください。1辺はforward(200)とします。

菱形図形

② ①で作ったひし形を並べて、花びらを重ねた下のような模様を描画してみましょう。1辺はforward(100)とします。enshu010_2.pyで保存してください。

菱形図形からの模様

③ ②で作った模様の花びらを花びら1枚、1枚に別の色をつけてみましょう。
図形に色を付けるのははじめてですね。
次のソースコードを参考してください。

  • ソースコードの先頭で次のコードの1-4行を宣言します。これは定型です。3行目で色を指定しています。
  • はっぱごとに色を変更する場合はこの2行目の宣言を再度行います。
  • 15行目で色つけの終了を命令します。
  • 3目では色を指定していますが、fillcolor()は3つの引数を持っていて、それぞれ0~255の整数を指定します。
(lesson10_color.py)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import turtle
turtle.colormode(255)
turtle.fillcolor(50, 180, 60)
turtle.begin_fill()
#ここに図形を描く
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)

turtle.end_fill()
turtle.done()

演習2

Udon.pyは、47都道府県の各県の、うどん店の総店舗数、人口10万人あたりの店舗数のデータです。順番に並んでいます。

["香川県","630","63.96"]

は香川県には630のうどん店があり、人口10万人あたり、63.96店舗があることがわかります。

① このデータから香川県と東京都の人口(単位:10万人)を逆算してみましょう。
②東京以外の都道府県のうち、上位の都道府県からうどん店の数を足していきます。このとき、いくつの都道府県を足すと東京都のうどん店の数以上になるでしょうか。

ヒント

上位N県の都道府県のうどん店の総和をセットする変数 sum_udon を考えます。

期待される動作①

香川県の人口は 9.8 (単位:10万人)です。

期待される動作②

日本の上位??都道府県の合計で初めて、東京都のうどん店の総数以上になります。

時間があまったあなたに

ひし形をずらしながら描いた葉っぱに色をつけるときに、turtle.fillcolor(50, 180, 60)のような3つの引数を指定しました。この3つの引数はそれぞれ赤、緑、青の色の割合を表しています。
色を数字で表す方法は代表的な方法として2つあり、1つはCMWKという方式で、もう1つはRGBという方式です。
CMYKは、全ての色を足すと真っ黒になります。一方、RGBという方式では全ての色を足すと白色になります。
前者はプリンターでよく使われる方式で、後者はディスプレイで表示する色で使われる方式です。

turtle.fillcolorは、RGB方式での表現です。数字は0から255を指定しますが、赤、緑、青を最大にした turtle.fillcolor(255, 255, 255)は白色を表すのです。
数字を変えて遊んでみましょう。