반복문 while 에 대해서 알아봅시다
반복문 while은 대다수의 경우 초기값을 설정해주고 그 초기값을 증가시키거나 감소시키면서
어떠한 조건을 만족할때 반본적으로 실행 시킵니다.
위 코드를 보시면 i = 0 으로 초기화를 하였고
while i<7 이라는 조건을 걸었습니다. i 값이 7보다 작을때 작동을 한다는 뜻입니다.
print('hello)를 찍고 i 값은 1이 증가하도록 해놓았습니다.
이 i값이 감소 또는 증가가 없다면 조건을 계속 만족하기 때문에 무한히 반복할 것 입니다.
그렇다면 무한히 반복하는 반복문은 어떻게 이용할까요?
위 코드를 봅시다. while문인데 조건식이 True 입니다. 즉 항상 조건이 만족한다는 뜻이죠.
user 변수에는 사용자값을 받아옵니다.
조건식이 항상 True이기 때문에 조건문 if 을 이용하여 user변수값이 그만 이면 멈추도록 break를
해놓았습니다. 사용자가 입력한 값은 그만일때를 제외하고는 모두 출력 하도록 되어있네요.
위 코드는 그만 이라는 단어가 없다면 무한히 계속 실행될 것입니다.
마치 우리가 게임에서 종료키를 누르지않으면 무한히 게임이 실행되는 것 처럼 말이죠
그리고 반복문 안에는 반복문을 또 만들 수 있습니다.
구구단을 예시로 해보죠
3 x 1 ,3 x 2 ,3 x 3··· , 9 x 8, 9 x 9 ··· 이런식으로 계속 앞의 숫자와 뒤의 숫자가 바뀌고 있네요.
이걸 하나의 반복문 만을 이용하면 9개의 반복문이 나오게 됩니다. 굉장히 귀찮은 일이 되버리죠
위 코드 처럼 반복문 안에 반복문을 작성하여 출력하면 훨씬 쉬운 코드가 됩니다.
먼저 첫번째 first 는 2~9 까지의 값을 가지고 올겁니다.
그리고 두번째 second 는 1~9값을 가지고 올 거구요.
하나하나 살펴보죠
first 가 2 일때 second 는 1 입니다. print 해주게되면 2 x 1 = 2 가 나오게 되겠죠?
second의 반복이 다 안끝났기 때문에 second 는 2가 됩니다. first는 아직 2이구요.
따라서 2 x 2 = 4 가 출력되겠죠 이런식으로 second 가 9 까지 왔을때
second의 반복이 끝나고 first는 3이 됩니다.
이런식으로 쭉쭉 반복문이 이어지게 되는 거죠.
list comprehension
[ 결과값 for 변수 in 리스트 조건식 ]으로 리스트를 만들어 주는 방법입니다.
왼쪽 코드를 보면 my_list로 [1,2,3,4,5]가 담긴 list 입니다.
new_list 라는 빈 list를 만들고 반복을 통해 my_list값의 제곱을 new_list에 추가하는 코드입니다.
오른쪽코드를 보시면 list를 만들건데 어떻게 만들거냐
data ** 2 인 결과를 for 반복해서 data에 저장할건데 이데이터는 in my_list에 있다. 입니다.
'개발 > 파이썬' 카테고리의 다른 글
파이썬. library란? random, datetime,time,parse 등등 (0) | 2022.11.22 |
---|---|
파이썬 기초. 함수() (0) | 2022.11.21 |
파이썬 기초. 반복문(for) range , break, continue (0) | 2022.11.18 |
파이썬 기초. if 와 elif (0) | 2022.11.17 |
파이썬 기초. 비교연산, 조건문(if) (0) | 2022.11.17 |