JAMONGPROJECT

[DAY4] 제어문 본문

Challenge/FASTCAMPUS 30일 챌린지

[DAY4] 제어문

JAMONGPROJECT 2023. 2. 23. 10:46

 


제어문

 

1 기초연산자들

 

기초 연산자들

 

변수 a와 변수 b 두개의 변수가 있을 때,

a>b : a가 b보다 크면 참을, 그렇지 않으면 거짓을 반환
a=b : a가 b보다 같으면 크면 참을, 그렇지 않으면 거짓을 반환
a<=b : b가 a보다 크거나 같으면 참을, 그렇지 않으면 거짓을 반환
a==b : a와 b가 같으면 참을, 그렇지 않으면 거짓을 반환
a!=b : a와 b가 다르면 참을, 그렇지 않으면 거짓을 반환

 

다음 예시는 b가 문자열, 리스트, 튜플, set, dictionary 등일 때 유효.

a in b : a가 b에 포함되어 있다면 참을, 그렇지 않으면 거짓을 반환
a not in b : a가 b에 포함되어 있지 않으면 참을, 그렇지 않으면 거짓을 반환

 

여러 개의 판별문이 중첩되어 있을 경우 and, or을 사용한다.

And의 경우 둘 모두 참일 경우에만 참을 반환하고 or의 경우 둘 중 하나만 참이면 참을 반환한다.

x>y and a>b : x가 y보다 크고, a보다 b보다 크면 참을 반환
x>y or a>b : 둘 중 하나만 성립해도 참을 반환

 

 

기초 연산자들(고급)

 

비트 연산자 : 정수 데이터끼리 비트 단위로 연산을 수행 한 후 결과를 10진수로 반환

a=12(2진법으로 1100), b=61(2진법으로 111101)

& : 비트 단위로 비교, 둘 다 1이면 1 => a&b = 1100(2진법) = 12
| : 비트단위 or => a&b = 111101(2진법) = 61
^: 비트단위 택 두 개의 데이터가 다를때만 1 => a ^ b = 110001(2진법) = 49
<<: 비트단위로 왼쪽으로 지정된 비트 수 만큼 이동 => a << 2 = 110000(2진법) = 48
>>: 비트단위로 왼쪽으로 지정된 비트 수 만큼 이동

 

식별 연산자: 같은 메모리 위치를 가리키는지 판단

is: 같은 메모리 위치를 가리키면 참
is not: 다른 메모리 위치를 가리키면 참

 

변수 변경 후 할당 연산자들

 

+= : 왼쪽 변수에 오른쪽 값을 더하고 결과를 왼쪽 변수에 할당
-= : 왼쪽 변수에 오른쪽 값을 빼고 결과를 왼쪽 변수에 할당
*= : 왼쪽 변수에 오른쪽 값을 곱하고 결과를 왼쪽 변수에 할당
/= : 왼쪽 변수에 오른쪽 값을 나누고 결과를 왼쪽 변수에 할당
%= : 왼쪽 변수에 오른쪽 값을 나는 나머지 결과를 왼쪽 변수에 할당
기타: **=, //=, >>=, <<=, &=, ^=, &=, |=

2 if문

 

제어문이란?

 

프로그램은 보통 위에서 아래로 한 문장씩 수행됨. 이를 순차적인 제어 흐름이라 한다.

때로는 이 흐름에서 벗어나 건너뛰거나 반복하기로 할 필요가 있는데 이를 컨트롤 하는 문장을 제어문이라고 함.

파이썬의 제어문은 if, for, while 이라는 단어로 시작함.

 

제어문 작성 규칙

 

파이썬의 코드 작성 규칙: 첫 코드는 들여쓰기 없이 작성.

제어문으로 인해 통제 받는 문장(이하 코드블록이라 부름)은 들여쓰기로 구분.

들여쓰기 방법으로는 스페이스 바와 탭(tab)이 있음.

들여쓰기 간격은 일정하기만 하면 둘을 혼용해도 무방하나, 보통은 스페이스 바 4번을 쓰는게 일반적임.

(참고: jupyter notebook은 자동적으로 스페이스 바 4번을 입력하나 구글colab은 2번을 씀.)

 

예시) if x>0: print(‘양수입니다.’) Else: print(‘음수입니다.’)

 

if 문의 기본 구조

if 조건문:
      수행할 문장1
      수행할 문장2
       ….
else:
       수행할 문장x
       수행할 문장y

조건문을 확인하여 참일 경우 if의 코드블록을 수행하고 거짓일 경우 else의 코드블록을 수행

만약 조건문이 여러 개라면 elif로 시작하는 다음과 같은 형태로 작성

 

if 조건1:
    문장
elif 조건2:
    문장
elif 조건3:
    문장:
     …..
else:
    문장

 

조건문을 한 줄로 표현?

 

if a>b: 문장1
else: 문장2

또는

문장1 if 조건문1 else 문장2

3 for문

 

for 순서열

 

For문은 조건을 평가하는 대신 순서열을 순회하며 반복적으로 코드를 실행.

다음과 같은 형태로 작성

 

for 반복변수 in 순서열:

    코드블록

 

예시)

for i in [1,2,3,4]:

    print(i)

 

순서열에 들어갈 수 있는 데이터 형식에는 list, tuple, 문자열 등이 있고,

순서열은 아니지만 set이나 dictionary도 사실은 들어갈 수 있다.

 

 

range 함수

 

range(num1, num2): num1에서부터 시작해서 1씩 증가해서 num2 직전까지 증가하면서 만들어진 순서열.

 

예시)

for i in range(0,5):

    print(i)

 

range(num) : 0에서부터 시작해서 1씩 증가해서 num2 직전까지 증가하며 만들어진 순서열.

range(num1,num2,간격) : range(num1,num2)와 같으나 간격이 1이 아니라 직접 입력가능.

 

 

4 while문

 

while

 

사실 while문과 for문은 굉장히 비슷하며 대부분의 경우 서로 호환 가능하다.

While문의 코드는 다음과 같다.

while 조건:

    코드블록

 

조건이 참인 동안에 계속 코드블록을 반복한다.

i = 0
while i<=100:
    print(i)
    i += 1

 

 

pass, break, continue

 

제어문 안에서 쓸 수 있는 특수 명령어로 pass, break, continue가 있다.

pass: 아무 일 없이 그냥 통과. (pass가 없으나 있으나 똑같음)
break: for문이나 while문에서 loop를 끝냄.
continue: for문이나 while문에서 현재 loop를 중단하고 다음 loop로 넘어감.

 


 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

http://bit.ly/3Y34pE0

 

#패스트캠퍼스 #패캠챌린지 #수강료0원챌린지 #환급챌린지 #직장인인강 #직장인자기계발
#패캠인강후기 #패스트캠퍼스후기 #오공완

#한번에끝내는컴퓨터공학전공필수&인공지능심화초격차패키지Online

Comments