for wen range,重畳for,while
22195 ワード
range
クエリー範囲を返す
Python内蔵関数range()は、for文で
반복범위
を数字で指定する場合によく使用されます.range(start, stop, step)
開始=開始範囲stop=範囲の終点
Step=インクリメンタルサイズ
Stepは正の整数と負の整数しか使用できません.
range()関数によって作成されたlist出力
list(range(0,10,1))
#0부터 9까지 1증감
[0,1,2,3,4,5,6,7,8,9]for a in range(0,6): #0부터 5까지 1증감
print(a)
01
2
3
4
5
Stepは基本1なので省略できます.
for a in range(0,6,2): #0부터 5까지 2증감
print(a)
02
4
違うけど同じrange
print(list(range(0,10,1)))
print(list(range(0,10)))
print(list(range(10)))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
複数範囲の例
print(list(range(0,20,5))) # 0~19 , 5증가
print(list(range(-10,0,2))) # -10 ~ -1 2증가
print(list(range(3,-10,-3))) # 3 ~ -10 ,-3감소
print(list(range(0,-5,1))) # 0~ -5 까지 1증가
[0,5,10,15].[-10,-8,-6,-4,-2].
[3,0,-3,-6,-9].
[]
オーバーラップ
ステートメント構造の重複
for <반복 변수> in <반복 범위> :
for <반복 변수2> in <반복 범위2> :
<코드블록>
実行順序反復変数の実行->コードブロック->
反復変数2のすべての反復を完了する->コードブロック->再反復変数
値がなくなるまで繰り返す
例
x_list = ['x1','x2']
y_list = ['y1','y2']
print('x y')
for x in x_list :
for y in y_list :
print(x,y)
x . . yx1 y1
x1 y2
x2 y1
x2 y2
複数のリストの処理
names = ['James','Robert','Lisa','Mary']
scores = [95,96,97,94]
2つのリストがあるときは、名前で試験の点数を印刷します.
names = ['James','Robert','Lisa','Mary']
scores = [95,96,97,94]
for k in range(len(names)):
print(names[k],scores[k])
James 95Robert 96
Lisa 97
Mary 94
条件
i = 0
sum = 0
print('i sum')
while ( sum < 20 ): #조건검사 sum이 20보다 작으면 반복하라
i = i + 1 # i를 1씩 증가
sum = sum + i # 이전의 sum과 현재 i를 더해서 갱신
print(i,sum) # i와sum을 출력
i sum1 1
2 3
3 6
4 10
5 15
6 21
およびi値
0 1 1 . . . . . . .0(sum=0)->i+1->sum値にiを加算
1 1
1 2 3
3 3 6
6 4 10
10 5 15
15 6 21
無限反復while
while True :
print('무한 반복이야~')
止まらないなら、楽しんでください.😉繰り返し文制御割り込み&continue
break
:複文(for mun,while mun)でbreakに遭遇すると複文から離脱する.breakを使用してwhileゲートを終了
k=0
while True :
k = k + 1 # k 1씩증가
if (k > 3) : # k가 3보다 크다면
break # break로 while문 탈출하여
print(k) # k 출력
12
3
breakを使用してfor文を終了する
k = 0
for k in range(10) : # k를 0~9 까지 반복한다
if(k > 2): # 만약 k가 2보다 크다면
break # break로 for문 탈출하여
print(k) # 출력
01
2
continue
:複文でcontinue
に遭遇し、複文の最初のループは次のループを行う.for文の使用を続行
for k in range(5): # k를 0~4까지 반복한다.
if(k==2): # 만약 k가 2와 같다면 (k가 2라면)
continue # continue로 반복문의 처음(시작점)으로 돌아간다.
print(k) #출력
01
3
4
反復中にkが2である場合、次のコード
print(k)
は遭遇せず、反復文の開始点に戻る.while文でbreakとcontinueを同時に使用する
k=0
while True:
k= k+1 # k에 1을 더한다.
if(k == 2): #k가 2와 같다면
print('continue next') #출력
continue # 반복문의 처음으로 돌아간다.
if(k > 4): # k가 4보다 크다면
break # 반복문 탈출
print(k) #출력
1continue next
3
4
1行1行
Pythonには、リスト、セット、ディックシリーズで実行できる1行1行の文があります.
리스트 컴프리헨션(List comprehension)
,세트 컴프리헨션(Set comprehension)
,딕셔너리 컴프리헨션(Dictionary comprehension)
컴프리헨션
=内包1行のコードを書くことができて便利です.
リスト計算の基本構造
[<繰返し実行文>for<繰返し変数>in<繰返し範囲>]
数値1~5のリストで、数値を2乗で出力します。
まず基本的なfor文を利用する.
numbers = [1,2,3,4,5]
square = []
for i in numbers:
square.append(i**2)
print(square)
[1,4,9,16,25]リストを使用して計算します。
numbers=[1,2,3,4,5]
square=[i**2 for i in numbers]
print(square)
[1,4,9,16,25]インベントリ計算、条件文を含む
[<繰返し実行文>for<繰返し変数>in<繰返し範囲>if<条件文>]
numbers = [1,2,3,4,5]
square = []
# 컴프리헨션을 사용하지 않은 for문
for i in numbers:
if i >=3: # i 가 3이상 이라면
square.append(i**2) # 거듭제곱 하여 추가
print(square)
#리스트 컴프리헨션
square = [i**2 for i in numbers if i >=3] #i가 3이상일때 거듭제곱한다.
print(square)
[9,14,25]Reference
この問題について(for wen range,重畳for,while), 我々は、より多くの情報をここで見つけました https://velog.io/@jahommer/for문-range중첩forwhileテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol