20221007
4일차
이제 무한의 세계로 떠난다.
변수를 만들고
while이라는 반복문을 만들어보자.
위의 사진을 해석해 보자면
변수가 0일때
변수가 2보다 작거나 같다면
변수에 1을 더하여 저장하라
그리고 프린트를하라.
요게 저 식의 설명이다.
변수 = 0부터 시작해서 ⇢ 1번째 프린트
변수 = 1 ⇢ 2번째 프린트
변수 = 2 ⇢ 3번째 프린트
변수 = 3 ⇢ 조건 변수 > 2 ⇢ 종료
* 포인트는 예측해서 아 변수가 2이니 다음은 무조건 안되겠구나 하면 안된다.
변수가 3일때까지 가서 False가 일어나는 시점에 조건문은 종료된다.
무한루프는 아주 간단하다 무한대로 가는 조건을 만들어 주면 된다.
컴퓨터에서 실행시켰을경우 몇 초만에 몇 만개의 데이터를 만들어 내기 때문에
저장공간이 터질 가능성이 있다.
그래서 break문을 이용해 중지 해야한다.
일종의 퓨즈 같은 느낌이다.
만약 현재 진행중인 로직은 스킵하고 다시 처음으로 가서 진행하고 싶다면
continue문을 사용하면 된다.
홀수만 출력 짝수만 출력 등등 유용하게 쓰인다.
for 반복문은 약간 분배? 같은 느낌으로 이해했다.
파이썬 튜터를 이용해 위 사진의 코드를 실행시켜 보자.
첫 번째
변수가 저장된다.
Frames가 스택 Objects가 힙으로 이해하면 편하다.
두 번째for문이 실행되어 i는 a의 0번째 값 1을 힙에서 참조해 저장된다.
그리고 print가 실행되어 Hello world가 프린트 되는것을 볼 수 있다.
그리고 다시 for문으로 돌아가 a의 1번째 값 2를 참조 i에 저장
print ("Hello world")
그리고 다시 for문으로 돌아가 a의 2번째 값 3를 참조 i에 저장
print ("Hello world")
결과 =
Hello world
Hello world
Hello world
for문의 진행과정은 이러하다.
리스트a에 저장되는 아이템을 i라는 매개체로 다시 실행시키는것?
요런 느낌이다.
tuple로도 가능하다
딕셔너리 자료형은 .key() 메서드와 결과가 동일하다.
딕셔너리의 아이템은 항상 key, value이기 때문에 한쌍으로 묶인 자료가 출력된다.
대입받는게 딕셔너리 아이템이므로 k, v로 받아야한다.
따로 설명할게 없는 아주 좋은 함수이다.
for문에서 자주 쓰이는 메서드인데 원하는 범위의 값을 역으로도 출력 가능하다.
그럼 for문과 range함수를 이용해서 중첩 반복문을 만들어 보자.
위 사진의 for문을 보면
i에 range 5만큼의 범위를 분배하세요 라는 해석이 가능한데
range 5는 0, 1, 2, 3, 4 이므로
총 5회 for문의 프린트("회원님 좌로 가세요", "회원님 우로 가세요.")가 적혀지고
for문이 끝나고 마지막에
프린트("회원님 수고하셨어요 한세트 끝났어요!")가 또 있으니 결과가 위와 같이 나온다.
for문 안의 for문이 있는 형태로
바깥쪽 j블럭의 첫 번째에서
안쪽의 i블럭이 2번 실행되고
다시 바깥쪽 j블럭의 두 번째에서
안쪽의 i블럭이 2번 실행
다시 j블럭으로 갔지만 할게 없으니
안쪽도 스킵하고
마지막 프린트 ("회원님 집에가세요!") 가 출력되는것을 볼 수 있다.
* print() 뒤에 end="" 추가하면 줄바뀜이 일어나지 않는다.
백준문제에서 유용하게 쓰일 수 있다.
'Hello python! > python_Basic' 카테고리의 다른 글
파이썬시작 (예외처리) (0) | 2022.10.30 |
---|---|
파이썬 시작 (함수) (1) | 2022.10.11 |
파이썬 시작 (제어문_if) (0) | 2022.10.10 |
파이썬 시작 (자료형_딕셔너리) (0) | 2022.10.10 |
파이썬 시작 (자료형_리스트,튜플3) (0) | 2022.10.10 |