Python 無料で独習 009 制御構文(for文)

繰り返し処理 forPython
この記事は約3分で読めます。

pythonの繰り返し処理 for 文

制御構文のfor文を学びます。
内容としては繰り返し処理らしいです。

まずは名前をリスト出力するプログラムを書きます。
以前の講義で習ったリストの機能を使います。

names = ['佐藤','鈴木','田中','中曽根','阿部']
print(names[0]+'さん')
print(names[1]+'さん')
print(names[2]+'さん')
print(names[3]+'さん')
print(names[4]+'さん')

佐藤さん
鈴木さん
田中さん
中曽根さん
阿部さん

こうすると5人の名前を出力する事ができます。
これをfor文の繰り返し処理を使って書いていきます。
まずはfor文を使って連続する数字を出力してみます。

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

0
1
2
3
4

0スタートで5回数値を出力します。
ここで先ほどの名前を出力した内容をfor文で動かします。
リストの中の[]に順番に数字を入れていくイメージです。

for i in range(5):
  print(names[i]+'さん')

佐藤さん
鈴木さん
田中さん
中曽根さん
阿部さん

さらにこのコードは改善することができて、
今回は数字を入れましたが、予めリスト内の要素を数えて
その数値の回数分for文をまわします。
そのコードが
len()
です。
()の中にリストをいれると要素の数を出力してくれます。

len(names)
5

このlen()をfor文にくみこみます。

for i in range(len(names)):
  print(names[i]+'さん')
佐藤さん
鈴木さん
田中さん
中曽根さん
阿部さん

とっても楽しい!
面倒な繰り返しの処理をプログラムにやってもらえる
ということがどういう事なのかがイメージできてきました。

とここでいきなり今西先生からの問題がでます。

演習 (制限時間一分)
1~20の値をすべて足すようなfor文をかいてください。

sum = 0
for num in range(20):
  sum = sum + num+1
print(sum)

210

答えは上記となります。
正直、制限時間内で問題を解くことはできませんでした(笑)
でも今西先生の説明を聞いて納得はできました。

で、この答のコードも少し改善する事ができるらしく、
sum = sum + num+1
のような合計値に順番に足していくような計算は
sum += num+1
と表現することができます。

最後に名前を出力するコードは別の書き方ができるらしいです。
それがこちら↓

for name in names:
  print(name + 'さん')

佐藤さん
鈴木さん
田中さん
中曽根さん
阿部さん

namesに入っている名前を
nameに一つずつ入れていくイメージです。
このとき、名前が入ったリストを
複数形のnames
一つの名前を出力する方を
単数形のneme
という風に書くとわかりやすくなるとの事です。
いよいよプログラムって感じになってきました。
今日もありがとうございました、今西先生。

コメント

タイトルとURLをコピーしました