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
という風に書くとわかりやすくなるとの事です。
いよいよプログラムって感じになってきました。
今日もありがとうございました、今西先生。
コメント