Loop

김남연·2024년 1월 4일

Python

목록 보기
9/12

for loop

for <<variable>> in <<list>>:
    <<block>>
  • variable은 list의 요소들이 반복마다 순서대로 지정됨.
  • block의 내용을 수행한 후 다음 요소가 variable에 지정됨
  • 마지막 요소까지 지정되고 수행하면 for구문이 종료
  • for구문의 variable은 전역변수이므로 기존의 변수도 사용이 가능
  • for구문이 끝날때 variable은 리스트의 마지막 요소가 지정되어있음
  • 리스트 대신 문자열로도 for구문을 사용가능

Range

  • range(n) : n개의 정수를 0부터 나열
  • range(a,b) : a이상 b미만의 정수를 순서대로 나열
  • range를 리스트처럼 for구문에서 사용이 가능. 주로 횟수를 지정할 때 사용
for num in range(3):
    print(num)
0
1
2

py
코드를 입력하세요

fruit = ['apple', 'banana', 'cherry']
count = [3, 4, 1]
for i in range( len(fruit) ):
    print( fruit[i], ':', count[i] )
   
apple : 3
banana : 4
cherry : 1
  • list( range(n) ) : range를 list로 만들어 출력
>>> a = range(3)
>>> list(a)
[0,1,2]

Nested loops

positive = ['Li', 'Na']
negetive = ['F', 'Cl']
for metal in positive:
    for halogen in negative:
        print( metal + halogen )
LiF
LiCl
NaF
NaCl

while loop

while <<expression>>:
    <<block>>
  • expression이 True일 동안 block의 내용을 수행함
  • False가 되면 반복을 중단
  • 무한루프가 발생하지않도록 언젠가는 expression이 False가 되어야함
  • 이를 위해서 expression에 포함된 변수를 block에서 업데이트해줘야함

Repetition based on user input

# 사용자의 이름을 입력받으면 이름을 불러 인사하는 프로그램
text=""
while text != "quit":
    text = input("Please enter your name(or "quit" to exit) : ")
    if text == "quit":
        print("exiting programs..")
    else:
        print("hello", text)

Controlling loops using break and continue

  • break
    조건문이 True일 때 반복문의 뒷부분을 더이상 실행하지 않고 반복을 끝내는 기능을 함
# 문자열에서 숫자의 위치를 출력하는 프로그램
a = 'C3H7'
digit_index = -1
for i in range(len(a)):
    if a[i].isdigit():
        digit_index = i
1

break로 인해 반복문이 3을 실행하고 멈췄기 때문에 7의 위치는 출력되지않음

  • continue
    조건문이 True일 때 반복문의 뒷부분을 더이상 실행하지 않고 바로 다음 요소로 반복문을 수행하게 하는 기능을 함
a = 'C3H7'
total = 0 # 문자열 속 숫자의 합
count = 0 # 문자열 속 숫자의 개수
for i in range(len(a)):
    if a[i].isalpha():
        continue #a[i]가 문자라면 뒤의 부분을 실행하지 않음
        total = total + int(a[i])
        count = count + 1
 print('total:',total)
 print('count:',count)
10
2

0개의 댓글