[자바개발자의 파이썬도전기 - 7] 반복문, while, for

Coen·2022년 12월 8일
1

python

목록 보기
8/15
post-thumbnail

JAVA 개발자의 PYTHON 도전기

이 포스트는 개인적으로 공부한 내용을 정리한 글입니다.
자세한 내용은 아래 참고자료를 봐주시면 감사하겠습니다.

기본 문법

반복문

for

개인적으로 for를 사용하는 방법이 JAVA와 굉장히 다르다고 생각했습니다.
0 ~ 99 까지 출력하는 반복문을 만들어보겠습니다.
보통 자바에서는 아래와 같이 작성합니다.

for (int i = 0; i < 100; i++) {
    System.out.println(i);
}

하지만 파이썬은 이렇게 작성한다고 합니다.

for i in range(100):
    print(i)

실행순서는, range(100)으로 [0, 1, 2, 3 ... 98, 99]의 리스트를 생성하고,
하나씩 꺼내서 i에 값을 할당한다고 합니다.
자바의 foreach와 비슷한것같습니다.

range()의 사용방법을 알아보겠습니다.
range([시작], [끝], [증가폭])

>>> for i in range(0, 10, 2):
...     print(i)
...
0
2
4
>>> for i in range(1, 5, 2):
...     print(i)
...
1
3

이렇게 나옵니다.

이번엔 반대로 가보겠습니다.
java에서는 아래와 같이 합니다.

for (int i = 9; i >= 0; i--) {
    System.out.println(i);
}

Python에서는 아래와 같이 합니다.

for i in reversed(range(0, 10)):
    print(i)

증가값 조건을 넣으면 아래와 같습니다.

for i in reversed(range(0, 10, 3)):
    print(i)

입력받은 숫자만큼 반복하기

for i in range(int(input("반복할 횟수를 입력해주세요: "))):
    print(i)

while

while 문은 아래와 같습니다.

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

random 모듈을 이용하여 특정 숫자가 나올때까지 반복하기

import random

rand = int(input("0 ~ 99 사이의 숫자를 입력하세요: "))
while i != rand:
    i = random.randint(0, 100) # 0 ~ 99 까지 랜덤숫자 생성
    print(i)

0 - 99 사이의 무작위 숫자를 생성하다 입력받은 숫자가 생성되면 반복을 멈춥니다.


위에서는 while에 직접 조건을 걸었지만, while True: 를 통해 무한루프를 만들어주고, 반복문 안에서 반복문을 통제해보겠습니다.

break 는 반복문을 종료시키고, continue는 다음 조건으로 넘어갑니다.

i = 0
while True: # 무한루프
    i += 1
    if i == 100: # i 가 100 이면 반복문 종료
        break
    elif i % 2 == 0: # i 가 짝수면 다음 조건으로 이동
        continue
    print(i)

위 코드는 1 ~ 99 까지 숫자 중 홀수만 출력됩니다.

참고자료 (파이썬 코딩 도장 - 15.0 for 반복문으로 Hello, world! 100번 출력하기)

참고자료 (파이썬 코딩 도장 - Unit 17. break, continue로 반복문 제어하기)

profile
백엔드 프로그래머

0개의 댓글