おぼえがき

過ちては則ち改むるにうんぬんかんぬん

for文とbreakとcontinueとelseについて(Python)

f:id:feci:20210726231508j:plain

Python3

 

Python3.8.5でのfor文について。

#①変数からリストの値を取得
some_List = [12345]
for i in some_List:
  print(i)


#②文字列からの取得
for s in 'あいうえお':
  print(s)


#③リストからの取得
t = 789
for word in ['123''456'"t"'じゅう']:
  print(word)

 

for文では、反復処理をするイテレータをinで指定して、その値をinの前に記述した変数に入れていくループ処理をおこないます。

 

上のプログラムの各出力結果は、以下のとおりです。

 

①の出力結果

1
2
3
4
5

 

②の出力結果





 

③の出力結果

123
456
t
じゅう

 

tには789という値が入っていますが、for文でリストから値を取得する場合は、tという変数内から値を取得する、という処理はできないようです。

””で囲っても、tは変数ではなく文字列のtとして認識されています。

 

 

for - break文について

#④for - break文
for s in 'あいうえお':
  if s == "う":
    break
  print(s)

上記コードのとおり、sの値が「う」になった時点でif文のs==”う”という要件を満たすします。

その結果berakが処理されて、このプログラムは終了となります。

 

④の出力結果


 

 

for - continue文について

#⑤for - continue文
for s in 'あいうえお':
  if s == 'え':
    continue
  print(s)

上記コードのとおり、sの値が「え」になった時点でif文のs=='え'という要件を満たします。

その結果continueが処理されて、「え」がprintされないままプログラムの先頭に処理が戻ります。

 

⑤の出力結果




 

 

for - else文について

#⑤breakはesleよりも優先される
for s in 'あいうえおか':
  if s == 'か':
    break
  print(s)
else:
  print('プログラムを終了しました。')

elseに記述したコードは、for文内の他のプログラムが実行される条件をすべて満たしていない場合に実行されます。

 

しかしelseが実行されるよりも先にbreakが実行された場合は、その時点でプログラム終了となります。

なのでその場合は、else以下のプログラムは実行されません。

 

⑤の出力結果





 

 

以上です。