소개

깃허브

while의 사용례


image

for의 사용례 2가지


image


while문 사용해보기

새로운 프로젝트를 만들고, py파일을 만든 다음, 아래 문장을 실행시켜보자.

print('study while')

condition = True
while condition:
print('wow')

조건이 계속 True이므로, wow가 계속해서 반복될 것이다. 이 때는, 좌측의 정지버튼을 눌러서 정지시킨다.
* 정지 단축키Ctrl+F2 이다.
image


while문의 기본 사용은 아래와 같다.


인자 i를 만들고,  0부터 시작시키도록해서, 특정 횟수를 반복하고, 그 속에서는 하나씩 +1 시켜준다.

i = 0
while i < 10:
print(i)
i = i + 1


이제, 가지고 있는 모든 돈을 계란사는데 모두 쓰는 프로그램을 만들어보자.



  • 먼저, 변수로는  [ 내가 가진 돈 / 계란 1개 가격 / 보유 계란수 ] 를 변수로 둔다.
    * i인자를 0으로 생성하는 대신, 가진돈 / 계란가격변수로 생성한 뒤 가진돈 > 계란가격 이기만 하면 [ 돈 마이너스 -> 계란 획득 ]의 과정
    - while문의 조건에다가는,  내가 가진 돈이 계란가격보다 클 떄, (1) 돈을 내고, (2) 그만큼 계란 가지도록 반복되도록 한다.
    - print문으로 먼저  보유계란수 와 남은 돈을 출력해준다. 보유계란 0개부터 찍히고, 남은돈 10,000원부터 찍힌다.
      *상황 [ 출력 -> 연산 ]   을 반복하면,   아래그림과 같이 맨 마지막 연산이 계산은 되지만 출력되지 않는다.
      * 만약 [ 연산 -> 출력 ]   을 반복하면, 맨 처음 상태는 찍히지 않고, 첫번 째 연산후에 출력이 될 것이다.

    image

    그러므로, [ 출력 -> 연산 ] 으로 while을 반복하고, while문 끝나고 마지막 연산된 것을 따로 출력해주는 형태로 해보자.
    image

    반대로, 먼저 [상활출력 ]  후에     while에서 [ 연산 -> 출력] 의 형태를 가져도 된다.
    image



for문 사용해보기

for문은 리스트를 사용하거나 range를 사용하는 방법 2가지가 있다.

  • 먼저 range를 이용한 for문의 기본적인 사용방법은 아래와 같다
    - 0부터 10전까지, 즉, 0, 1, 2, ~ , 9까지 반복된다. 10번 반복된다.
    image

    만약 while을 사용한다면, 아래와 같다.
    - while문은 먼저 변수 i = 0을 선언해주고, 어떤 반복행위를 작성한 뒤, i = i + 1으로 하나씩 수동으로 올려줬다.
    - i = i +1 이 귀찮다면, i += 1 을 대신 쓸 수 있다.
    image
    image



  • 이제 리스트를 이용해서 for문을 사용해보자.
    - 먼저 리스트를 작성해준 뒤, for문의 in 안에 그 리스트를 집어넣는다
    image


응용 - 홀짝 구분해주는 프로그램 제작

0부터 9까지를 반복하는데, i가 짝수인지 홀수인지는
for문 안에서, if문을 통해 2로 나눈 나머지가 0라면 짝수, else 홀수로 구분하면된다.

- print ( i + '문자열')은 불가하다. -> i를 str()함수로 문자열로 바꿔준다.
- 정수나 실수를 문자열로 바꾸는 작업이 귀찮다면 -> 문자열이 아닌 변수{}로 비워놓고 .format을 쓰면 된다.

print(str(i) + ' : 홀수')
print('{} : 홀수'.format(i))


image
image

image


구구단 출력해보기

먼저, range를 0이 아닌 1부터 9까지의 범위인 (1, 9)로 지정해준다.
for문 안에서는 2단을 먼저 해본다.

for i in range(1,10):
print('2 * {} = {}'.format(i, 2*i))

image

  • 이제 가정한 2단을 j로 바꿔주는 반복문을 작성해야한다.
    i는 각 구구단에서, 1부터 9까지 곱해주는 놈이었다.
    그러나 2는 또, 전체에서 2부터 9까지 크게 한바퀴 돌아야한다.
    즉, for i ~ 안에 들어갈 것이 아니라, for i를 감싸주는 for j in range(2,10)이 되어야한다.
      *기존에 있던 2문장을 전체선택 한 다음, [TAB]을 누르면 안드로이드스튜디오와 마찬가지로 4칸 들여써진다.

    image


직원 정보를 출력해보자.

이름리스트, 생일리스트를 5개 (0,4)만들고,
for문 속에서 리스트 요소에 접근[i]하여 각각을 프린트해보자.
* print문은 ,(콤마)를 통해서 여러개 출력시킬 수 도 있다. ex> print( name_list[i], birth_list[i] )

image


그런데 만약에, 리스트에 하나가 추가된다면?

for i in range(0,5) 상태로는 동으로 업데이트가 되지 않는다.

range 의 끝범위를,  리스트의 크기인 len()함수를 쓰면된다.
image

+ Recent posts