免責事項: この記事は Xiaobai による [複数の記事] のコードの分析に基づいています。間違いがある場合は、ご指摘いただきありがとうございます。
^ ^ (信頼できる)
以下の分析プロセスは非常に詳細ですが、比較的長いので、理解できない場合は参照してください。
1. 答え
Break と continue は両方とも for while ループまたは for ループであり、if の数 (またはなし) に関係なく、それとは何の関係もありません。
以下は画像とコードテンプレートで理解できます。
1.写真
(かどうかは関係ありませんが)
2. コードテンプレート (while を例として取り上げます)
3. 理解する
Break は、while ループの条件を true ではなくすることと同じなので、while ループを終了します。
continue は、while 内でその下のコードをコメントアウトすることと同じなので、再度ループします。
注: def と while を同時に使用する必要がある場合は、while を含める必要があります。
正しい:
def a():
while True:
return 1/1
break
print(a())
間違い:
while True:
def a():
return 1/1
break
print(a())
2 番目に、分析プロセス (while を例として取り上げます)
1 つのコードに欠陥がある場合、次のコードで修正できます。
1、休憩
(1)
a=1
while a<10:
a+=1
if a==4:
break
print(a)
print(a)
結果:
2
3
4
分析します:
3行目: a=2
6行目: a=2を出力します
2行目を返す
3 行目: a=3
6行目: a=3を出力します
2行目を返す
3行目: a=4
4行目: ifを入力
5 行目: 現在の while から飛び出して 7 行目に入る
7行目: a=4を出力します
欠点:飛び出すかどうかは分かりません
(2)
a=1
while a!=0:
a+=1
while a<10:
a+=1
if a==4:
break
print(a)
print('……')
break
print(a)
結果:
3
……
4
分析します:
3行目: a=2
5行目: a=3
8行目: print a=3
4行目を返す
5行目: a=4
6行目: ifを入力
7 行目: while(2) からジャンプして 9 行目に入る
9行目: 出力します...
10 行目: while(1) からジャンプして 10 行目に入る
11行目: a=4を出力します
欠点:どう影響するか分からない
(3)
a=1
while a==1:
print('^_^')
break
print('T_T')
print(': )')
結果:
^_^
: )
分析します:
3行目: print ^_^
4 行目: 現在の while を抜けて 6 行目に移動します。
6行目: 印刷:)
欠点: 複数の if がどのように影響するかわからない
(4)
a=1
while a!=0:
a+=1
while a<10:
a+=1
if a==4 or a==5:
if a==5:
break
print(': P')
print(a)
print('……')
break
print(a)
結果:
3
: P
4
……
5
分析します:
3行目: a=2
5行目: a=3
10 行目: a=3 を出力します
4行目を返す
5行目: a=4
6行目: if(1)と入力します。
9行目: 印刷: P
10 行目: a=4 を出力します
4行目を返す
5行目: a=5
6行目: if(1)と入力します。
7行目: if(2)と入力します。
8 行目: while(2) から抜けて 11 行目に入る
11行目: 出力します...
12 行目: while(1) から抜け出して 13 行目に入る
11行目: a=5を出力します
答えを得る
2、続ける
このセクションは Break と比較します。すべての Break を continue に置き換えるだけです。
(1)
a=1
while a<10:
a+=1
if a==4:
continue
print(a)
print(a)
結果:
2
3
5
6
7
8
9
10
10
分析します:
3行目: a=2
6行目: a=2を出力します
2行目を返す
3 行目: a=3
6行目: a=3を出力します
2行目を返す
3行目: a=4
4行目: ifを入力
5行目:whileの先頭に戻って2行目を入力
3行目: a=5
6行目: a=5を出力します
2行目を返す
上記の太字部分を繰り返し、a=6、a=7、a=8、a=9 をそれぞれ出力します。
3行目: a=10
6行目: a=10を出力
2 行目に戻ります。a<10 は true ではないため、ループを終了して 7 行目に入ります。
7行目: a=10を出力
欠点:飛び出すかどうかは分かりません
(2)
a=1
while a!=0:
a+=1
while a<10:
a+=1
if a==4:
continue
print(a)
print('……')
continue
print(a)
結果:
3
5
6
7
8
9
10
……
……
……
(无限循环)
分析します:
3行目: a=2
5行目: a=3
8行目: print a=3
4行目を返す
5行目: a=4
6行目: ifを入力
7行目:while(2)の先頭に戻り、4行目を入力します。
5行目: a=5
8行目: a=5を出力
4行目を返す
上記の太字部分を繰り返し、a=6、a=7、a=8、a=9 をそれぞれ出力します。
5行目: a=10
8行目: a=10を出力
4 行目に戻ります。a<10 は true ではないため、while ループを終了して 9 行目に入ります。
9行目: 出力します...
10行目:while(1)の先頭に戻り、2行目を入力します。
3 行目: 代入 (a<10 が true でない限り、a がどれだけ等しいかは関係ありません)
9行目: 出力します...
10行目:while(1)の先頭に戻り、2行目を入力します。
上記の太字部分を繰り返すと、無限ループ (印刷...) が発生します。
欠点:どう影響するか分からない
(3)
a=1
while a==1:
print('^_^')
continue
print('T_T')
print(': )')
結果:
^_^
^_^
^_^
(无限循环)
分析します:
3行目: print ^_^
4行目:whileの先頭に戻って2行目へ
3行目: print ^_^
上記の太字部分を繰り返すと、無限ループが発生します (print ^_^)
欠点: 複数の if がどのように影響するかわからない
(4)
a=1
while a!=0:
a+=1
while a<10:
a+=1
if a==4 or a==5:
if a==5:
continue
print(': P')
print(a)
print('……')
continue
print(a)
結果:
3
: P
4
6
7
8
9
10
……
……
……
(无限循环)
分析します:
3行目: a=2
5行目: a=3
10 行目: a=3 を出力します
4行目を返す
5行目: a=4
6行目: if(1)と入力します。
9行目: 印刷: P
10 行目: a=4 を出力します
4行目を返す
5行目: a=5
6行目: if(1)と入力します。
7行目: if(2)と入力します。
8行目:while(2)の先頭に戻り、4行目を入力します。
5行目: a=6
10 行目: a=6 を出力します
while(2)の先頭に戻り、4行目を入力します。
上記の太字部分を繰り返し、それぞれ a=7、a=8、a=9 を出力します。
5行目: a=10
10 行目: a=10 を出力します。
4 行目に戻ります。a<10 は true ではないため、while ループを終了して 11 行目に入ります。
11行目: 出力します...
12行目:while(1)の先頭に戻り、2行目を入力します。
3 行目: 代入 (a<10 が true でない限り、a がどれだけ等しいかは関係ありません)
11行目: 出力します...
12行目:while(1)の先頭に戻り、2行目を入力します。
上記の太字部分を繰り返すと、無限ループ (印刷...) が発生します。
答えを得る
終わり
免責事項: この記事は Xiaobai による [複数の記事] のコードの分析に基づいています。間違いがある場合は、ご指摘いただきありがとうございます。
^ ^ (信頼できる)
===================================答えは一番上にあります ========= ====== ==================