파이썬을 배워보자(5) - Day2 & 제어문 (for 반복문, while 반복문, range( ), 구구단 )
Day2. 제어문
if, while, for 이 친구들을 우리는 제어문이라고 한다. 제어문은 코딩에서 아주 중요하다. 보통 우리가 기능을 구현할 때 "참이냐 거짓이냐가" 기능이 "실행되냐 안되냐의" 핵심이기 때문이다. 그렇기 때문에 제어문의 구성과 사용방법에 대해서 알고가는것은 무척 중요하다.
1. if ( )제어문
참이냐 거짓이냐는 if문에서 결정난다고 보면 된다. 파이썬에서는 조건문의 구조가 어떻게 생겼고 어떤 규칙이 있는지 알아보자.
조건문 구조
- 파이썬에서는 조건문을 쓸때 아래와 같은 구조를 지닌다. 자바보다 간단해 보인다. 자바와 다르게 { }를 안써서 그런지 코드도 깔끔하다.
- 하지만 파이썬의 if문에 { }는 없지만 나름대로 규칙이 존재한다. 바로 들여쓰기이다. 이 들여쓰기를 잘 쓰냐 못쓰냐가 아마 초보자와 중급자를 가를수도 있을거 같다. 그만큼 초보자들이 많이 하는 실수 중 하나가 들여쓰기이다.
비교 연산자
if문의 비교연산자이다. 우리는 비교연산자를 통해 여러가지 조건을 만들 수 있다.
x = 1 , y = 5, c= 7 이렇게 변수가 존재한다면 x > y 이라는 조건식은 맞지 않으니 False를 반환할 것이다. 반대로 x < y 부등호가 반대가 되면 참이니 True를 반환할 것이다. 이렇게 다양한 방법으로 True와 False를 나타낼 수있다.
비교연산자 | 설 |
x > y | x는 y보다 크다 |
x < y | x는 y보다 작다 |
x >= y | x는 y보다 크거나 같다 |
x <= y | x는 y보다 작거 같다 |
x == y | x와 y는 같다 (동일하다) |
x != y | x와 y는 같지않다(다르다) |
예제 1
money == True 조건이라면 즉, 돈이 있으면 택시를 탑니다를 출력하고, 돈이 없으면 걸어갑니다를 출력, 그게 아닐경우 여기내립니다를 출력하는 조건문이다.
money = True라고 위에서 변수를 만들어 놓았기 때문에 "택시를 탑니다" 라고 출력한다.
그러면 조건이 이미 성립되었는데 "여기 내립니다"는 왜 출력한걸까? 그 이유는 바로 들여쓰기 때문이다. 사진을 보면 조건문이 안에 print( '여기 내립니다 ') 가 들어있는게 아니고, 그 다음줄에 print( '여기 내립니다 ') 가 적혀있기 때문에 조건문과는 별개의 코드가 되는 것이다.
반대로 money = False 인경우는 "걸어갑니다"를 출력한다.
예제 2
이렇게 리스트 안에 찾고싶은 값이 있느냐 없느냐 알아내는 것도, 파이썬에서는 in을 써서 간단하게 찾을 수 있다.
2. for ( ) 제어문
우리는 for( ) 제어문을 반복문이라고 부른다. 뜻 그대로 조건이 주어졌을때 조건이 참이면 해당 코드를 반복해서 실행시킨다. 이를 통해 기본적으로 해볼 수 있는 것이 * 을 반복해서 찍어 별을 만든다던지, 구구단을 만들 수도 있다.
for문과 while문의 차이 ( java코드로 설명 )
for( )문과 while( )문은 똑같은 반복문이다. 상황에 맞춰 둘 중 쓰고 싶은것을 쓰면된다. 근데 보통 조건을 주고 참일때만 반복문을 실행시키는 for문이 자주 쓰이는것 같다. 그러면 이 두 반복문은 무슨 차이가 있을까? 자바에서 어떻게 실행되는지 적어보려한다.
1. for 반복문
① (초기값 ; 조건식 ; 증감연산)으로 이루어진 조건식을 for( ) 안에 바로 넣어줄 수 있다.
초기값 조건식 증감연산
for ( int i = 0; i < 10; i++)
if ( a == b ){
}
④ 반복문 시작부터 조건문을 가지고 실행되기 때문에, 조건이 참일 경우에만 반복문을 수행한다.
② 조건식이 들어가므로 구하고자 하는 값의 조건이 무엇인지 정확할 경우 사용한다.
③ 반복되는 횟수가 정해져 있을때 사용한다. (ex. 리스트 안에 있는 값들에 대해서만 반복문 실행)
2. while 반복문
① 초기값 조건식 증감연산을 한줄에 적지않고 나누어 작성한다.
②조건이 true인 동안 반복 실행되고, 조건이 false가 되는 순간 빠져나온다.
③ 내가 구하고자 하는 값의 조건이 무엇인지 정확하게 모르겠는 경우 사용한다.
④ 특정조건에서 종료되는 상황이 필요한 경우 사용한다.
⑤ 변수에 false가 될 수있는 값을 넣거나, break; 를 써서 반복문을 탈출한다.
[도움주신 분들]
파이썬(python) #11_ 제어문(if문, while문, for문)
안녕하세요.이번 포스팅에서는 파이썬에서의 제어문에 대해 알아보려고 합니다.다른 언어를 공부하셨던 분들은 익숙하실 겁니다.개인적으로 느끼기엔 처음 공부하시는 분들도 다른 언어에 비
doorbw.tistory.com
for문과 while문 차이점. 언제 사용해야 할까 ?
자바스크립트를 처음 접하게 된다면 for문과 while문의 차이와 언제 사용 해야하는지 정확히 모를 수 있다. for문 - 초기값과 조건식 증감연산으로 이루어져 있으며 동작문을 실행 - 조건식으로 true
chaeyoung2.tistory.com
3. 파이썬에서 for ( )문
파이썬에서 for문은 다양한 형태로 쓸 수 있다.
1. " for i in range( n , n ) : " 해당하는 범위내의 값들을 변수 i에 담을 수 있다
* range (0,10) : 시작번호와 끝번호 범위에 해당하는 값들을 나열한다. 리스트를 만드는건 아니지만 for i in과 같이 사용하면 반복문처럼 사용할 수 있다.
2. " for i in 리스트 : " 만들어진 리스트를 사용해 차례대로 i 변수에 값을 집어 넣을 수 있다.
3. " for i in range( n(시작) , n(끝) , n(증감) ) : " 규칙대로 증가하거나 감소하는 값들을 변수 i에 담을 수있다.
출력이 잘 되는 것을 확인할 수 있다. 근데 range( ) 를 써서 반복문을 돌린다고 리스트 형태로 만드는게 아니다( 아직 range 타입으로 존재하는 상태다 ) 그래서 i에 들어간 값들을 리스트로 만들기 위해서는 후속작업을 해줘야한다. ( list ( )로 형변환을 시켜주는 작업이 필요하다.)
원래는 저 사진처럼 일자로 나열해서 하나씩 출력하는데, 옆으로 리스트처럼 출력하려면 print( ) 에 end=" "옵션을 추가 해주면 된다.
end = " " → 하나씩 아래로 출력되어지는 값들을 연결시켜 한 줄로 출력시켜준다.
지금은 " " 사이에 공백을 넣어서 아무것도 안보이지만 구분자를 넣어 원하는 값을 문자 사이에 넣을 수 있다.
예제 3
반복문을 활용하여 "2~9까지 숫자를 담은 x 리스트 와 "1~9까지의 숫자를 담은 y리스트를" 이용해 구구단도 만들 수 있다.