Python

파이썬을 배워보자(5) - Day2 & 제어문 (for 반복문, while 반복문, range( ), 구구단 )

Chokeys 2023. 6. 25. 18:47

 

 

 

Day2. 제어문 

 

 if,  while,  for 이 친구들을 우리는 제어문이라고 한다. 제어문은 코딩에서 아주 중요하다. 보통 우리가 기능을 구현할 때 "참이냐 거짓이냐가" 기능이 "실행되냐 안되냐의" 핵심이기 때문이다. 그렇기 때문에 제어문의 구성과 사용방법에 대해서 알고가는것은 무척 중요하다.

 

 

1. if ( )제어문  

 

참이냐 거짓이냐는 if문에서 결정난다고 보면 된다. 파이썬에서는 조건문의 구조가 어떻게 생겼고 어떤 규칙이 있는지 알아보자.

 

조건문 구조 

 

- 파이썬에서는 조건문을 쓸때 아래와 같은 구조를 지닌다. 자바보다 간단해 보인다. 자바와 다르게 { }를 안써서 그런지 코드도 깔끔하다. 

 

 

- 하지만 파이썬의 if문에 { }는 없지만 나름대로 규칙이 존재한다. 바로 들여쓰기이다. 이 들여쓰기를 잘 쓰냐 못쓰냐가 아마 초보자와 중급자를 가를수도 있을거 같다. 그만큼 초보자들이 많이 하는 실수 중 하나가 들여쓰기이다.

 

 

비교 연산자

 

if문의 비교연산자이다. 우리는 비교연산자를 통해 여러가지 조건을 만들 수 있다. 

 

x = 1 , y = 5, c= 7 이렇게 변수가 존재한다면  x > y 이라는 조건식은 맞지 않으니 False를 반환할 것이다. 반대로 x < y 부등호가 반대가 되면 참이니 True를 반환할 것이다. 이렇게 다양한 방법으로 TrueFalse를 나타낼 수있다.

 

비교연산자
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리스트를" 이용해 구구단도 만들 수 있다.