キーワード辞典
物凄く大雑把なPython

登録日 21/09/09   更新日 21/09/09



反復(for)

Pythonには、反復の制御として、forとwhileの2つが有る。 forは繰り返す回数が判っている場合に、 whileは回数では無い条件によって終了させたい場合に、使用する。 どちらも、前判定である。


for(1)

基本的なforの例。
キーボードから5つの整数を入力し、その合計を求める。エラー処理はしていない。
3行目、sumの初期化。
5行目、iをカウンタとして、5回繰り返す。
具体的には、iの初期値を0,終了判定をrangeで指定した5,増減を+1、とする。
6行目、反復する部分。 inputでキーボードから入力されるデータは必ず文字型になるので、 入力されたデータをintで整数型に変換し、sumに累算( sum += )している。
インデントが、反復する範囲を決定する。 入れ子であったり、反復する範囲が複数行に渡っていても、CやJavaの様に中カッコは使わない。

# for.py

sum: int = 0

for i in range(5):
  sum += int(input('%d番目の数値 --> ' % (i) ))
print("合計 = %d" % (sum))
実行例
キーボードから、12、34、56、78、90の5つのデータを入力した。
iが、初期値を0、終了判定をrangeで指定した5、増減を+1、として、
インデントの範囲(6行目)を繰り返している。
前判定で、5行目でiが5になった時点で反復から抜け出るので、
結果、5回繰り返す事になる。



for.py の5行目は、以下の様にも書く事が出来る。
この書き方をすると、初期値、終了判定、増減、の値を変えることで、より細かい設定をする事が出来る。
(1)初期値を1,終了判定を6、と設定した例。
# for2.py

sum: int = 0

for i in range(1, 6):
  sum += int(input('%d番目の数値 --> ' % (i) ))
print("合計 = %d" % (sum))
実行例


(2)for.py の5行目を、初期値を1、終了判定を6、増減を+1、と設定した例。
# for3.py

sum: int = 0

for i in range(1, 6, 1):
  sum += int(input('%d番目の数値 --> ' % (i) ))
print("合計 = %d" % (sum))



meiboというリスト(配列)の要素を全て順番に最後まで表示する。
初期値、終了判定、増減を指定した例。
# for4.py

meibo: list = ['Atou','Itou','Udou','Etou','Katou','Kitou','Kudou','Satou','Sudou']

for i in range(0, 9, 1):
  print("meibo[%d] = %s" % (i,meibo[i]))
実行例


for(2)

forでは、in の後にリスト(配列)を指定する事で、その要素を順番に処理する事が出来る。
流石、オブジェクト指向な言語だなぁ。
meiboというリストの要素を全て順番に最後まで表示する例。
xは各要素の値自体なので、添字としては使えない。

# for5.py

meibo: list = ['Atou','Itou','Udou','Etou','Katou','Kitou','Kudou','Satou','Sudou']

for x in meibo:
  print(x)


meibo[3]以降を順番に最後まで表示する例。
リストの添字は0から始まるので、この場合は、Etou以降が表示される。
# for6.py

meibo: list = ['Atou','Itou','Udou','Etou','Katou','Kitou','Kudou','Satou','Sudou']

for x in meibo[3:]:
  print(x)


meibo[3]からmeibo[6]まで(EtouからKudouまで)を順番に最後まで表示する例。
5行目、[3:7]になっているが、前判定なので、Satouは表示されない。
# for7.py

meibo: list = ['Atou','Itou','Udou','Etou','Katou','Kitou','Kudou','Satou','Sudou']

for x in meibo[3:7]:
  print(x)


コマンドラインで指定した引数を順番に表示する例。
# for8.py

import sys

for x in sys.argv:
  print(x)



以降、続きます。









[ 黒板消しとチョーク受けの画像 ]