이 포스트는 개인적으로 공부한 내용을 정리한 글입니다.
자세한 내용은 아래 참고자료를 봐주시면 감사하겠습니다.
개인적으로 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 문은 아래와 같습니다.
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 까지 숫자 중 홀수만 출력됩니다.