Search

반응형

'파이썬프로그래밍'에 해당되는 글 12건

  1. 2020.10.08 [HOW]파이썬 프로그래밍 기초 반복문 for문 사용하는 방법, Python - 왕초보
  2. 2020.10.07 [HOW]파이썬 프로그래밍 반복문 while 문 사용하는 방법, Python 순환문 왕초보 버전
반응형

안녕하세요. 신기한 연구소입니다.

반복문, 순환문 또는 루프 반복 등 조건에 의해 반복 실행을 위한 명령어는

보통 while문과 for문이 있습니다.

이번 포스팅은 파이썬 프로그래밍에서 for문 사용하는 방법에 대해 알아봅니다.

파이썬 프로그래밍 언어의 for문에 대해 간단히 살펴보겠습니다.

다른 프로그래밍 언어들을 접했던 개발자면 보통 for문을 사용할 때 반복할 횟수, 제약 조건 등을 설정해서

사용했을 겁니다.

자바의 경우는 제약 조건을 사용하기도 하고 Collections이나 배열의 iterator를 활용해서 간편하게

사용하기도 합니다.

파이썬의 경우는 자바에서 사용하는 iterator를 이용하듯

리스트, 튜플, 문자열 등의 항목 시퀀스에 포함된 순서대로 반복 순환을 합니다.

그게 답니다.

 

for 꺼낸 값 in 값을 꺼낼 목록:

 

위 예제를 보겠습니다.

animals라는 리스트를 만들었습니다.

그리고 for문을 구성합니다.

for 꺼낸 값 in 꺼낼목록: 으로 매칭 하면

꺼낼목록은 리스트 animals입니다.

꺼낸값은 반복 순환하면서 'dog'부터 'lion'까지 순차적으로 ani라는 꺼낸값에

할당이 됩니다. 순환할 때마다 값이 바뀌겠네요.

for문 뒤에는 콜론(:)을 잊지 마세요.

탭(들여 쓰기)으로 for문의 구현부를 작성합니다.

계속 탭(들여 쓰기)을 하면서 코딩하면 for문의 순환 구현부가 됩니다.

결과는 다음과 같습니다.

축하합니다. 이제 for문을 사용할 수 있게 되었습니다.

 

for문 리스트, 튜플 혼합 사용

 

이번 목록은 students이며 리스트로 구성됩니다.

그런데 리스트 내부를 보니 다시 튜플로 구성이 되어 있습니다.

이름과 포인트인데 이런 경우도 for문으로 잘 사용할 수 있답니다.

for문에 꺼낸값이 2개입니다.

리스트의 첫번째 값이 2개 값으로 구성된 튜플이기에 2개의 값을 가져오기 위해서입니다

3개면 꺼낸값을 3개로 구성하고 비록 2개라 해도 1개만 받고 싶다면 하나만 사용하면 되겠네요.

튜플로 값이 2개로 설정되어있지만 꺼낸값을 1개만 설정하면 ('jane', 10)처럼 튜플째 조회가 됩니다.

리스트 내 튜플이 잘 조회가 되었습니다.

 

for문 컬렉션 사용

 

컬렉션을 이용한 데이터를 가지고 for문을 구성해봤습니다.

cols는 'a' : 'b' 의 키:값 형태로 구성되어 있습니다.

mart의 값은 active입니다.

이름과 상태를 받기 위해 for문에 name, status로 구성했습니다.

in 뒤에 컬렉션의 목록을 받기 위해 cols.items()로 메서드를 사용했습니다.

이번에도 값이 잘 나왔습니다.

이번 예제를 보면

for문의 in 부분에 copy()를 사용했습니다.

그 이유는 if문의 else부분을 보면 del이라는 삭제 명령어가 있습니다.

현재 cols를 for문에 사용하면서 해당 컬렉션의 데이터를 변경하기 위해서

복사본을 만든 상황입니다.

for문은 cols의 복사본을 만들어서 반복하기에

구현부에서 cols를 변경해도 영향이 없습니다.

inactive 데이터는 삭제도 잘 되었고

오류도 없이 for문이 잘 실행되었습니다.

 

for문 continue 사용하기

 

이번 예제를 보면 tmp_cols가 비어있는 콜렉션으로 만들어졌습니다.

또한 if문의 else를 보면 continue가 있습니다.

for문에서 name과 status를 cols.items()에서 받아 반복합니다.

status가 'active'인 경우 빈 상태로 선언된 tmp_cols에 추가합니다.

tmp_cols[name] 은 tmp_cols의 키 값에 name을 넣고

= status 는 그 키값에 status의 값을 넣습니다.

결과는 키 : 값 구조가 되겠네요.

active가 아닌 경우는 else의 continue를 실행해서

다음 구문을 실행하지 않고 다시 for의 다음 순서의 반복을 실행합니다.

그래서 print(name, ' is active')는 active인 경우만 실행됩니다.

active인 경우만 출력이 됩니다.

그리고 마지막 print(tmp_cols)의 결과를 보면

비어있던 tmp_cols에 active 값을 가진 데이터가 저장되어 있습니다.

지금까지 파이썬 프로그래밍에서 사용하는 반복문 중 하나인

for문에 대해 알아봤습니다.

잘못된 정보나 수정이 필요하면 댓글 주세요

아래 하트(공감) 버튼을 눌러서 더 다양한 글을 쓸 수 있게 응원 부탁드립니다. 감사합니다.

반응형
반응형

안녕하세요. 신기한 연구소입니다.

이번 포스팅은 반복문 또는 순환문으로 알려진 while문에 대해 알아볼게요.

그럼 while문의 기본 구조를 알아봅니다.

 

while 조건식 :

(탭) 구현부1

(탭) 구현부2

...

 

 

먼저 while문에서 조건에 사용할 변수 endCount를 선언하고 1로 할당했습니다.

while 구문은 당연히 while로 시작합니다.

그 뒤로 조건을 설정합니다.

우리는 미리 변수로 선언한 endCount를 사용했습니다. 10보다 작거나 같다는 조건입니다.

마지막에 콜론(:) 잊지 마세요.

의미는 endCount가 10보다 작거나 같다면 (혹은 참이면, 조건이 맞다면 등)

while문에서 구현한 구문을 계속 실행하면 됩니다.

while문에서 구현한 구문(바디, body)은

자동으로 탭(들여 쓰기)이 생성되고 코딩을 할 수 있게 됩니다.

탭(들여 쓰기)이 자동으로 안된다면 while문 마지막 콜론(:)을 넣었는지 확인하세요.

 

위 프로그램은 조건에서 사용할 변수 endCount를 1로 설정하고

while문 조건으로 endCount가 10보다 작거나 같은 동안(참인 동안)

탭(들여쓰기)가 된 구현부(바디)의 로직을 실행하게 됩니다.

구현부는 먼저 print()로 출력을 하고 endCount를 += 1을 사용해 1씩 증가시킵니다.

 

예측되는 결과는 "대기번호 : 1" ~ "대기번호 : 10"까지 쭉 출력될 듯합니다.

축하합니다. 원하는 결과가 나왔습니다. ㅎㅎ

지금까지 파이썬 프로그래밍의 반복문 중 하나인 while문의 기본 구조를 살펴봤습니다.

 

이제 if문도 같이 사용해서 파이썬 프로그래밍을 해볼게요.

보통 반복문은 일반적으로 for문을 자주 사용하는 편입니다.

 

while True (무한 반복)

 

while문은 무한 반복(루프)인 경우 사용하는 경우가 많습니다.

서버/클라이언트를 개발하는 경우에도 서버가 클라이언트를 대기하는 경우에

while Ture라는 무한 반복으로 구현합니다.

또한 while문 진행 시 조건에 의해 중간에서 다시 처음으로 돌아가야 하거나

조건에 의해 while문을 더 이상 진행하지 않아야 하는 경우도 있을 겁니다.

그런 경우에 사용하는 키워드가 있습니다.

좀 복잡해 보일 수 있지만 하나씩 보면 이해가 될 겁니다.

 

continue 와 break

 

먼저 변수 cnt를 0으로 할당합니다.

while문은 True로 항상 참이기에 무한 반복을 할 겁니다.

멈추는 기능이 없다면 빠져나올 수 없겠지요?

cnt가 0이면 Start를 출력합니다.

그리고 cnt에 1을 더합니다. 그럼 더 이상 Start를 실행하지 않겠네요.

progress를 출력합니다.

if 조건문을 사용해서 3으로 나눠서 나머지가 0인 경우는 

continue==를 출력한 뒤 continue를 실행하면서 다시 위로 올라갑니다.

나머지가 0이 아니면 계속 진행합니다.

그리고 cnt가 100이면 break==를 실행한 뒤

break를 실행하면서 while True인 무한 반복을 빠져나오게 됩니다.

초반부 결과를 보겠습니다.

continue==3을 보면 바로 앞 행이 progrssStart이고

progrssEnd가 없고 다시 progrssStart가 출력되었습니다.

마지막 출력 부분입니다.

cnt가 100이 되니 (if cnt == 100:)

break== 100을 출력하고

더 이상 진행하지 않고 while문을 빠져나왔습니다.

간단한 조건 판단을 기준으로 반복 순환을 하는 경우

while문이 유용하게 사용될 수 있답니다.

몇 번의 코딩 연습을 한다면 실전에서도 잘 사용할 수 있을 거예요.

좀 더 복잡한 구현부나 중첩 반복이 필요하다면 for문이 더 나을 수도 있답니다.

그래서 다음 포스팅은 for문으로 만나겠습니다.

즐 코딩하세요.

잘못된 정보나 수정이 필요하면 댓글 주세요.

아래 하트(공감) 버튼을 눌러서 더 다양한 글을 쓸 수 있게 응원 부탁드립니다. 감사합니다.

반응형