케이스윔의 개발 블로그

[Python] 반복문 본문

Study/Python

[Python] 반복문

kswim 2018. 4. 27. 21:18

오늘 공부할 내용은 반복분이다! while문과 for문인데, while문은 c와 거의 똑같이 동작하는 것 같은데 for문은 형태도 다르고 신기한 사용법을 가진 것 같다. 


for문 사용법

for 변수 in 순차타입객체:

반복내용


예제를 통해서 이해하는 게 빠를 것 같다. 


1. in 다음의 리스트 순차 자료 개수 만큼 반복하여 출력한다.

for number in [1,2,3,4]:

print("python")

2. 리스트의 개수만큼 차례대로 반복하면서 그 수를 score 변수에 저장한다. 

for score in [100, 95, 90, 50]:

print(score)

3. in 다음 문자열의 길이만큼 반복하면서 letter변수에 저장한다.

for letter in "hello"

print(letter)

4. in 다음의 리스트의 문자열수만큼 반복하여 문자열을 변수에 저장한다.

for animal in ["dog", "cat", "pig"]:

print("동물 : ", animal)


range(시작값, 종료값, 증가값)

: 해당 범위의 숫자 리스트를 반환한다. 시작값을 생략할 경우 0부터 진행하고 종료값은 포함되지 않는다! 즉 range(1, 5)는 [1,2,3,4]이다.

for count in range(1, 10, 2):

print(count)

-> 1, 3, 5, 7, 9를 출력한다.

for count in range(10, 1, -1):

print(count)

->10, 9, 8, 7, 6, 5, 4, 3, 2를 출력한다.


사용자가 입력한 수까지의 합 구하기

number = int(input("수를 입력: "))

total =0

for count in range(1, number+1):

total += count

print("합: ", total)


for-else: for문이 모든 반복을 다 실행했을 경우 else 부분이 수행되고, 중간에 break로 인해 for문이 다 수행되지 않았을 경우에는 수행되지 않는다. 예를 들어 문제를 풀 때 for문의 if문이 실행되어서 break됐는지 따로 flag 역할을 하는 변수가 필요없어지므로 꽤 유용할 것 같다. while문에서도 사용할 수 있다.

number = int(input("수를 입력 : "))

total = 0

for count in range(1, number+1):

    total += count

    if total > 10000:

        print("합이 10000을 넘는 수 :", count)

        break

else:

    print("합이 10000을 넘지 않습니다")


pass문: 어떠한 동작도 원하지 않을 경우 사용한다. 말 그대로 해당 부분을 pass한다. 

'Study > Python' 카테고리의 다른 글

[Python] 튜플  (0) 2018.07.08
[Python] 딕셔너리  (0) 2018.07.07
[Python] 리스트  (0) 2018.07.07
[Python] 문자열 응용하기  (0) 2018.07.03
[Python] 파이썬 Basic  (0) 2018.04.25
Comments