検索ガイド -Search Guide-

単語と単語を空白で区切ることで AND 検索になります。
例: python デコレータ ('python' と 'デコレータ' 両方を含む記事を検索します)
単語の前に '-' を付けることで NOT 検索になります。
例: python -デコレータ ('python' は含むが 'デコレータ' は含まない記事を検索します)
" (ダブルクオート) で語句を囲むことで 完全一致検索になります。
例: "python data" 実装 ('python data' と '実装' 両方を含む記事を検索します。'python data 実装' の検索とは異なります。)
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
  • ただいまサイドメニューのテスト中/ただいまサイドメニューのテスト中
>>

Python 雑談・雑学 - else ステートメントは if 文だけではなくて for 文とも使えるよ、と教えたら感心された話 投稿一覧へ戻る

Published 2020年5月20日16:04 by mootaro23

SUPPORT UKRAINE

- Your indifference to the act of cruelty can thrive rogue nations like Russia -

Python Topic:

else ステートメントは if 文だけではなくて for 文とも使えるよ、と教えてあげたら感心された話。


for 文でループしながら処理を行っている場合、
処理を続けるかループを抜けるかを判断するために、
1つの変数をフラグとして利用する、というのはよくあること。


でも for ~ else 文を使えばフラグ変数を用意しなくても大丈夫。


例1: フラグ変数を使用する場合

grades = ["ok", "ok", "ok", "fail", "ok", "ok"]

all_successful = True
for grade in grades:
if grade == "fail":
print("残念でした!")
all_successful = False
break
print(f'この科目は {grade}.')
print("よくできました!")

if all_successful:
print("全部OK、合格!")



例2: for ~ else を使用する場合

grades = ["ok", "ok", "ok", "fail", "ok", "ok"]

for grade in grades:
if grade == "fail":
print("残念でした!")
break
print(f'この科目は {grade}.')
print("よくできました!")
else:
print("全部OK、合格!")



for と同じブロックに置かれた else 文は
for ループ処理が途中で break することなく最後まで終了した場合に実行されます。


よって、grades リスト中の "fail" を "ok" にして実行すると、
"全部OK、合格!" が出力されます。


これをアドバイスしただけですごく感心されました。
何か得した気分!
この記事に興味のある方は次の記事にも関心を持っているようです...
- People who read this article may also be interested in following articles ... -
【Python 雑談・雑学】 else ステートメントは if 文、for 文とだけではなくて try ブロックでも使えるよ、とアドバイスしたら、またまた感心されていい気分になった話
Python 雑談・雑学 その1
【Python 雑談・雑学 + coding challenge】文字列中の数字を抜き出して桁区切りをつけよう! 正規表現 (regular expression ) を使うと「えっ!?」っていうくらい簡単ですょ。lookahead と negative lookahead を使います。
【Python 雑談・雑学 + coding challenge】sorted 組み込み関数の key パラメータをうまく使って、カスタムオブジェクトを簡単にソートしよう! __getitem__、__len__ 特殊関数 ( special methods, dunder methods ) を実装すれば立派なシーケンス ( sequence ) です
【Python 雑談・雑学 + coding challenge】シーケンス ( sequence ) における インデックス ( index ) を使った要素 1 つの取り出しと、スライス ( slice ) を利用した場合の取り出しの違いをちゃんと理解していますか?
【Python 雑談・雑学】 Common Mistake: mutable なオブジェクトを関数のデフォルト値に使っちゃダメでしょ、の話
【Python 雑談・雑学】 ループ処理でインデックス番号が使いたいのなら enumerate() を使えば?