while

 

지정된 조건이나 작업을 반목해야하는 경우 매번 구문을 사용하기에는 꽤나 불편이 있다.

작업을 반복적으로 수행하는 구문을 반복문이라고 하고 파이썬에서는 for 문과 while문을 이용해 구현한다.

 

a=5
while a>0:
    print(a)
    a -=1

print('while밖')

out)

5
4
3
2
1
while밖

 

 

 

a = 1
while a <11:
    print(a)
    a += 1

out)

1
2
3
4
5
6
7
8
9
10

 

 

업카운팅과 다운카운팅

 

i=3
while i>0:
    print('#', end='')
    i -= 1       # 다운카운팅으로 # 3개 출력




i=1
while i<4:
	 print('#', end='')
     i += 1       # 업카운팅으로 # 3개 출력

out) 두 코딩 모두 같은 결과를 출력

###

위 처럼 while문을 이용해 업,다운카운팅이 다 가능하다.

그렇다면

###

###

이렇게 샵 3개를 두줄로 쓰고 싶으면 어떻게 할까?

 

j=1
while j<3:           # ### 두줄로 만들기
    i=1
    while i<4:
        print('#', end='')
        i += 1       # 업카운팅으로 # 3개 출력
    print()        # 다음 줄에 ### 찍어라
    j += 1
    

out)

###
###

만약 점수(1~100점)를 입력받아야 하는 상황에서 입력자가 범위 외의 것을 입력한다면?

다시 재입력을 하라는 문구를 띄워야 할 것이다.

그럴 때는 while문을 사용할 수 있다.

 

 

 

score = -1
while score>100 or score<0:
    score = int(input('score(0-100):'))

if score >= 60:
    print('합격')
else:
    print('불합격')

out)

score(0-100):230
score(0-100):56
불합격

 

 

 

for문

 

메모리에 데이터를 할당(저장)하는 방법은 2가지가 있다.

1. 변수

2. 리스트

변수는 지금 껏 직접 변수명과 값을 입력해주어야 했다. 하지만 입력해야할 변수들이 100개라면 변수명을 일일히 나열할 수는 없을 것이다. 그래서 사용하는 것이 리스트!

 

 

b=[1, 2, 3, 4, 5]

print(b[0])
print(b[1])
print(b[2])
print(b[3])
print(b[4])

out)

1
2
3
4
5

리스트는 위의 예제처럼 칸을 여러개로 나누어 여러개의 변수를 담는 호텔이라고 생각하면 된다.

리스트의 앞에서부터 우리는 0호, 1호, 2호, 3호 ... 이런 식으로 이름을 붙일 것이다.

즉, b= [1, 2, 3, 4, 5] 에서 0호의 값은 1, 1호의 값은 2, 4호의 값은 5가 된다.

리스트를 이용해 변수 값을 잡는 것이 훨씬 수훨해졌다.

그런데 b=[1,2,3,4, ......., 1000]이라면 모든 호수에 있는 값들을 쉽게 출력할 방법은 없을까?

그것이 바로, for문!!

#위에 있는 내용을 단 두줄로 표현 가능!
for i in b:           #또는 for i in [1, 2, 3, 4, 5] 도 가능
    print(i)

out)

1
2
3
4
5

 

참 쉽죠?

그럼 리스트를 좀 더 간략하게 해보자.

b=[0,1,2,3,4] 를 for i in range(0, 5) 로 나타낼 수 있다.

여기서 range는 수를 자동으로 나열 해주는 함수이다.

#range(시작, 끝값, 간격)
for i in range(0,5):     # [0,1,2,3,4]
    print(i)


for i in range(1,10,2):   #1부터 9까지 2칸씩 건너띄면서  [1,3,5,7,9]
    print(i)

out)

0
1
2
3
4



1
3
5
7
9

그렇다면 앞에서 했던 while문을 이용한 코딩들을 for문으로 바꿔보자!

'파이썬이 제일 쉽다면서요' 카테고리의 다른 글

python #피카츄게임?  (0) 2021.06.01
python #연습문제  (0) 2021.06.01
python #연습문제  (0) 2021.06.01
python #제어문 (if, if-else, if - elif - elif - else)  (0) 2021.06.01
python #연습문제  (0) 2021.06.01

+ Recent posts