Pythonループ文のwhile文とfor文の詳しい解説

不言
リリース: 2018-04-23 15:18:38
オリジナル
2835 人が閲覧しました

以下はPythonのループ文のwhile文とfor文について詳しく解説していますので、参考になれば幸いです。ぜひ一緒に覗いてみてください

Pythonにはforループとwhileループの2種類のループがあります。 for ループは、リストや文字列などの項目のシーケンスを反復処理できます。 while ステートメントは、プログラムをループで実行するために使用されます。つまり、特定の条件下で、繰り返し処理する必要がある同じタスクを処理するために、特定のプログラムをループで実行します。

ループ文(2種類あります):

while文
for文

while文:

質問: 整数nを入力してプログラムにn行出力させます:

hello 1
hello 2
.....
hell n

while ステートメント:

機能: 特定の条件に従って 1 つ以上のステートメントを繰り返し実行します

構文:

while 真理値式:

ステートメントブロック 1...
else:
ステートメント ブロック 2...

説明:

1、最初に真理値式を実行し、ブール値が True か False かをテストします。
2 のテスト値。真理値式が True の場合はステートメント 1 を実行し、真理値式のテスト値が False の場合は最初のステップに戻ってテストを繰り返します。次に、else 節内のステートメント ブロック 2 を実行し、while ステートメントの実行を終了します。else 節がない場合は、while ステートメントの実行を直接終了します。
4. else節部分は省略可能です(if文と同様)。

例: hello を 10 行出力します


i = 1 #while ループを制御する変数 i を作成して初期化します

while i i += 1
#実行結果: [root @localhost data]# ./test.py
hello
hello
hello
hello
hello
hello
hello
hello
hello
hello


while文の注意点:


1.無限ループを防ぐためのループの真理値式の値。
2. 真理値式内のループ変数は通常、ループ条件を制御するために使用されます。

3. 通常、ループの数と変数の方向を制御するには、ループ ステートメント ブロック内でループを変更する必要があります

while ループのネスト:


while ステートメント自体はステートメントであり、他のステートメントと同様です、他の化合物に入れ子にすることができます ステートメント内 (例: if ステートメント、while ステートメント、for ステートメント...内部)

while ステートメントのネスト図:


while 真理値式:

....

while 真理値式 2:
...
else:
....
else:
....
例:


数値を入力し、指定された幅の正方形を印刷します:

例: input: 5


n = int(input("数字を入力してください:"))
j = 1

while j i = 1
while i print(i , end=' ')
i += 1
print()
j += 1
######実行結果:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5

break ステートメント:


機能: 現在のループ ステートメントの実行を終了するためにループ ステートメント (while、for ステートメント) で使用されます。


注:

1. Break ステートメントが実行されると、このループ ステートメントの Break 以降のステートメントは実行されなくなります。

2. Break ステートメントは通常、if ステートメントと組み合わせて使用​​されます。
3. Break ステートメントがループを終了する場合、ループ ステートメントの else 節は実行されません。
4. Break ステートメントは、ネストされたループがある場合にのみ終了できます。
5. Break ステートメントは
のみを使用できます:

i = 1

while I & LT; 10:

Print ("Line Start I =", I)
IF I == 5 : # i = 5の場合、ループを終了します。 3
ループの開始 i= 4
ループの開始 i= 5


デスループ:


1 のループ条件を指します。常に真実
2無限ループは通常、ループを終了するためにbreakステートメントを使用します
3、無限ループのelse句は実行されません。例: use input 3つの*記号が入力されている場合、それは入力が終了した場合、ループし続けます。

s = ""
while True:
a = input("テキストを入力してください(***で終わる)")
if a == '***':
break
s += a + 'n'
##実行結果: [root@localhost data]# ./test.py
テキストを入力してください(***で終わる)a
テキストを入力してください(***で終わる)b
テキストを入力してください(***で終わる)v
テキストを入力してください(***で終わる)c
テキストを入力してください(***で終わる)d
テキストを入力してください(***で終わる)*** #終了するには***を3つ入力してループを終了します
[root @ localhost data]#

2: for ステートメント (ループ ステートメント)

関数: 反復可能オブジェクトのデータ要素を走査するために使用されます

構文:
反復可能オブジェクト内の変数リスト:

ステートメント ブロック 1 .....
else:
ステートメント ブロック 2...

構文の説明:

1. 反復可能なオブジェクトは、一度に 1 つの要素を提供し、それを変数リスト内の変数に順番に割り当てます。代入が完了すると、ステートメントが実行されます。ブロック 1、このステップを繰り返します。
2、反復可能オブジェクトがデータを提供できない場合は、else 節部分のブロック 2 を実行して、ループを終了します。

例:

s = 'ABCDE'
s の x の場合:
この
## 実行結果: [root@localhost data]# ./test.py
A
B
C
D
E
これを実行し続けます


3、else句の部分は省略可能です(while文と同じです)


4. 文内のループをbreakで終了する場合、文のelse句の部分は省略できます。ブロック 2 は実行されません

反復可能なオブジェクトとは、データ要素を順番に取得できるオブジェクトを指します



4: for ループのネスト:

は while ループのネストと同じです


例:

for x in 「ABC」:
use using using using using using through out out out through off out off ' s ' throughholder through ' through ‐ through ‐ through ‐ ‐ ‐ 、ネストする:




@localhost data]# ./ test.py
A1
A2
A3
B1
B2
B3
C1
C2
C3

古典的なループなしのネストの例


for ループのネストを使用して、次のグラフィックを印刷します。 :

(数値 n (を入力してください) 10 以内) 長方形の幅と高さを表します)
例: 入力: 5

1 2 3 4 5

2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9

n = int(input("数字を入力してください:"))

for i in range(1, n +1):
for j in range(i, i + n):
print (j, end=' ')
else:
print()

#実行結果:
[root@localhost data]# ./test.py
数字を入力してください: 5
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9

5: continue ステートメント:


関数: ループ ステートメント (while、for ステートメント) で使用され、このステートメントは実行されなくなります。ループ内の continue の後のステートメントは、新しいループを再開します。


説明:


1. while 文内の continue 文を実行し、while 文の真理値式に直接ジャンプしてループ条件を再判定します。

2. for ステートメントで continue ステートメントを実行すると、反復可能オブジェクトから要素が削除され、変数がバインドされ、再度ループされます。 I:

範囲 (5) の I の場合:
IF I == 3: #I が 3 に等しい場合、出力をスキップし、次のサイクルを実行します。

Continuein Print (i)
# Robe results
[root@localhost data]# ./test.py
0
1
2
4



4


例:

プログラムを書き、場所を見つける1 ~ 100 の間 5、7、または 11 で割り切れない数値の合計。


s = 0
for i in range(1,101):
if (i % 5) == 0 or (i % 7) == 0 or (i % 11) == 0:
continue
s += i
print(s)
#実行結果:
[root@localhost data]# ./test.py
3007


Six: range関数:

🎜

関数: 一連の整数を生成する反復可能なオブジェクトを作成するために使用されます (整数シーケンス ジェネレーターとも呼ばれます。)
呼び出し形式:
range(stop)
0 から開始し、整数が生成されるたびに 1 を加算する、演算、停止するまで(停止を除く)
range(start,stop[,step]) は、開始から開始し、毎回整数を生成してステップを移動し、停止するまで(停止を除き、ステップは負の数にすることができます。)
注: If range(5) または (print(range(5))) を直接出力すると、リストの代わりに range(5) が得られます。これは、スペースを節約し、大きすぎるリストが生成されるのを防ぐためです。
例:

>>> range(5)
range(0, 5)
>>>
対話モードでリストを取得したい場合は、リストを先頭に追加できます。 、次のようになります。
例:

>>> list(range(5))
[0, 1, 2, 3, 4]
>>> )
[1 , 2, 3, 4, 5]
>>> list(range(10,0,-1))
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> リスト(範囲(1,10,2))
[1, 3, 5, 7, 9]
>>> リスト(範囲(5,0,-) 2))
[5, 3, 1]
>>

以上がPythonループ文のwhile文とfor文の詳しい解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート