JAMONGPROJECT
[DAY4] 제어문 본문
제어문
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로 넘어감.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
#패스트캠퍼스 #패캠챌린지 #수강료0원챌린지 #환급챌린지 #직장인인강 #직장인자기계발
#패캠인강후기 #패스트캠퍼스후기 #오공완
#한번에끝내는컴퓨터공학전공필수&인공지능심화초격차패키지Online
'Challenge > FASTCAMPUS 30일 챌린지' 카테고리의 다른 글
[DAY6] 함수 및 변수 (1) | 2023.02.25 |
---|---|
[DAY5] 실전문제 풀이 (0) | 2023.02.24 |
[DAY3] Python의 자료형, 자료형의 복사 (0) | 2023.02.22 |
[DAY2] Python의 자료형 (0) | 2023.02.21 |
[DAY1] Python 개요, Python의 자료형 (0) | 2023.02.20 |