ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
break とは
break は for や while による繰り返し処理をその時点で打ち切り、ループの外へ抜ける制御文です。条件にあてはまる要素が見つかった瞬間に探索を打ち切る、無限ループを終了させる、といった場面で使います。
基本構文
# while で使う例
n = 0
while True:
n += 1
print(n)
if n == 10:
break # ← ここで while を抜ける
# 出力: 1 〜 10
for ループで使う
# 最初に見つかった偶数で打ち切る
nums = [1, 3, 5, 4, 7, 9]
for n in nums:
if n % 2 == 0:
print(f"最初の偶数: {n}")
break
# 出力: 最初の偶数: 4
break / continue / pass の違い
| 文 | 意味 | 典型用途 |
|---|---|---|
break | ループを抜ける | 条件を満たしたら以降不要 |
continue | 次の周回へ進む(残りスキップ) | 特定要素だけ処理を飛ばす |
pass | 何もしない(構文的に必要な場所の埋め草) | 空関数・空クラス |
for i in range(5):
if i == 2:
continue # i=2 はスキップ(ループは続行)
if i == 4:
break # i=4 でループ脱出
print(i)
# 出力: 0, 1, 3
for...else / while...else の挙動
Python では for / while に else 節を付けられます。これは「break せずにループが終わったとき」だけ実行される、少し珍しい構文です。
nums = [1, 3, 5, 7]
for n in nums:
if n == 4:
print("発見")
break
else:
# break しなかったときに実行される
print("見つかりませんでした")
# 出力: 見つかりませんでした
nums = [1, 3, 4, 5]
for n in nums:
if n == 4:
print("発見")
break
else:
print("見つかりませんでした")
# 出力: 発見
多重ループを抜けたいとき
break はもっとも内側のループ 1 段だけ抜けます。Python には break n のような構文はないので、以下のいずれかで対応します。
方法 1: フラグ変数
found = False
for i in range(10):
for j in range(10):
if i * j == 42:
found = True
break
if found:
break
print(i, j)
方法 2: 関数化して return
def find_pair():
for i in range(10):
for j in range(10):
if i * j == 42:
return i, j
return None
print(find_pair())
方法 3: for...else を活用
for i in range(10):
for j in range(10):
if i * j == 42:
break
else:
# 内側ループが break しなかったら次の i へ
continue
# 内側で break が起きたらここで外側 break
break
print(i, j)
典型的な使い方
無限ループの終了
while True:
cmd = input("> ")
if cmd in ("quit", "exit"):
break
print(f"入力: {cmd}")
線形探索の早期打ち切り
target = "Bob"
for name in ["Alice", "Bob", "Carol"]:
if name == target:
print("見つかった")
break
条件付き集計の打ち切り
# 合計が 100 を超えたら止める
total = 0
nums = [30, 25, 20, 40, 15, 50]
for n in nums:
total += n
if total > 100:
break
print(total) # 115(30+25+20+40 まで足した次の n=15+... ではない)
他言語の break との比較
| 言語 | 挙動 |
|---|---|
| Python | break で 1 段抜ける。多重抜けは構文なし |
| Java | break label; でラベル付きループまで一気に抜けられる |
| JavaScript | Java と同じくラベル可 |
| Go | break LABEL でラベル付き可 |
| C / C++ | 1 段のみ。多重は goto やフラグ |
よくある落とし穴
ifの中ではなくループ外に書いてしまい構文エラー(breakは必ずループ内で)- 2 重ループの内側で break しても外側ループは継続
for...elseの else 節は「break しなかったとき」に動く(直感と逆になりがち)- 探索後に「見つかったかどうか」を区別したいなら、フラグ変数か
for...elseを使う
関連
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- 条件分岐 (if文)
- 繰り返し処理(while文)
- 繰り返し処理
- 繰り返しの中断 (break)
- 繰り返しのスキップ (continue)
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?