見出し画像

最初のいっぽ。繰り返しFor-in loop。

前回ではプログラミングがどうして便利なのかを少し書いて、変数、関数を使ってみました。変数の値を変えることで計算は格段に早くなります。もっと複雑な計算をする場合はなおさら便利となります。

今回はプログラミングの得意なこと第2段、繰り返しをやってみようと思います。仕事の中で同じ作業を延々やらないといけない場合がありますね。決まったことを繰り返し手作業でというのは辛いことだと思います。

繰り返しをやってみましょう!Swiftで簡単な繰り返しをやってみます。

単純な例をやってみましょう。例えば同じ文字を繰り返し書く必要があるとします。

for _ in 1...10{
   print("Hellow")
}

Hellow
Hellow
Hellow
Hellow
Hellow
Hellow
Hellow

これで10回Hellowと出力出来ます。まだ10回程度であれば手でも書けそうですがこれが100,1000回となればどうでしょうか、ちょっと厄介ですね。

今回は決まったこと"Hellow"と出力しているだけですが、もっと繰り返しができればいろんなことが出来ます。

計算でも

for i in 1...10{
   print(i*2)
}

2
4
6
8
10
12
14

i * 2で偶数の数字の出力が出来ます。(iは1から10の数字が入ります)

手計算でも出来そうですがもう少し複雑になったらめんどくさいかも。でもプログラミングであれば可能です。

例えば九九でも

for i in  1..<10{
  var line = ""
  for j in 1..<10{
      let n = i * j
    
      line += " \(n)"
  }
  print(line)
}

ちょっと整理して 

if n < 10 {line += " "}  で一桁の時はスペースを入れます。
 
for i in  1..<10{
 var line = ""
 for j in 1..<10{
     let n = i * j
     if n < 10 {line += " "}
     line += " \(n)"
 }
 print(line)
}

とすると

 1  2  3  4  5  6  7  8  9
 2  4  6  8 10 12 14 16 18
 3  6  9 12 15 18 21 24 27
 4  8 12 16 20 24 28 32 36
 5 10 15 20 25 30 35 40 45
 6 12 18 24 30 36 42 48 54
 7 14 21 28 35 42 49 56 63
 8 16 24 32 40 48 56 64 72
 9 18 27 36 45 54 63 72 81

と出力されます。手で一つ一つやっていくと時間がかかりますが、プログラミングに任せると一瞬です。

こうやって繰り返しをうまく使って、何回も繰り返して作業することに関してはプログラミングができると、簡単に出来そうですね。ポイントは繰り返しの法則性を見つけうまく繰り返しを利用することです。

Pythonでもやってみましょう!

for i in range(10):
   print("Hellow")

としてやると、

Hellow
Hellow
Hellow
Hellow
Hellow
Hellow
Hellow
Hellow
Hellow
Hellow

となります。

for i in range(5):
   print(i*100)

計算も

for i in range(5):
   print(i*2)

としてやると

0
2
4
6
8

と出力されます。同じことを繰り返す時はループ処理でうまくいきます。

図形を書いてみると繰り返しの便利さがわかるかも。

PythonのTurtleモジュールを使って図形を書いてみましょう!

GoogleのColabを使います。コードは

!pip3 install ColabTurtle
from ColabTurtle.Turtle import *

とそしてモジュールをインポートします。これで使えるようになりました。

次に、

initializeTurtle(initial_speed=5)
color('orange')
bgcolor('white')
width(1)
for i in range(6):
   forward(100)
   left(300)

と書いて実行します。

画像1

6角形が書けましたか?

これが繰り返しの便利さです。

for i in range(6):   // 6回繰り返します。
  forward(100)   // 100進みます。
  left(300)       // 300度開店します。

100進み300度回転することを6回繰り返すと、6角形になります。繰り返しを使わないと

forward(100)
left(300)

forward(100)
left(300)

forward(100)
left(300)

forward(100)
left(300)

forward(100)
left(300)

forward(100)
left(300)

と書かないといけません。繰り返し便利です。

この記事が気に入ったらサポートをしてみませんか?