[BoostCamp AI Tech / Day 1] Conditionals and Loops

newbie·2021년 8월 2일
0

Index

  • Condition

    1. if-else
    2. 조건 판단 방법
    3. 논리 키워드 사용
  • 반복문

    1. for문
    2. while문
    3. 반복문 제어
    4. debugging

Condition

  • 조건문 : 조건에 따라 특정한 동작을 하게하는 명령어
  • 조건문은 조건을 나타내는 기준실행문으로 구성
  • 파이썬의 조건문으로는 if, else, elif 등의 예약어를 사용

if-else문

if <조건>: #if 이후 조건 삽입 후 ":" 입력
    수행명령 1-1 #indentation 후 수행명령 입력
    수행명령 1-2 #if 조건이 성립 시 수행명령 block
else: (or elif <다른 조건>:)
    수행명령 2-1 #if 조건이 False일 경우 수행 명령 block
    수행명령 2-2

조건 판단 방법

  • if 다음에 조건을 표기하여 참 또는 거짓 판단
  • 참/거짓을 구분하기 위해서 비교연산자 활용
    • x < y : x가 y보다 작은지
    • x > y : x가 y보다 큰지
    • x == y : x가 y와 같은지(값)
    • x is y x가 y와 같은지(메모리 주소)
    • x != y x가 y와 다른지(값)
    • x is not y x가 y와 다른지(메모리 주소)
    • x >= y x가 y 이상인지
    • x <= y x가 y 이하인지
    • is(is not) 비교연산자 참고할 점
      • -5 ~256 정수는 자주 사용되어 파이썬에서 미리 메모리 주소를 할당해놓은 상태(정적 메모리)
      • 따라서 이 범위 내의 값으로 인스턴스를 생성하더라도 같은 메모리 주소를 갖게 됨
    • if 조건문에서 1은 True, 0은 False를 의미
    • 정확한 반복시행 횟수를 알 경우 for문 / 아닐 경우 while문

논리 키워드 사용

  • 조건문을 표현할 때 집합의 논리 키워드를 함께 사용하여 참 거짓을 판단
  • and(==all), or(==any), not

반복문

  • 정해진 동작을 반복적으로 수행하게 하는 명령문
  • 반복 시작 조건, 종료 조건, 수행명령으로 구성
  • 반복 구문은 들여쓰기와 block으로 구분
  • for, while 등
  • 반복문 규칙
    • 변수명 : 임시적인 반복 변수 : i,j,k
    • 0부터 시작하는 반복문(python 관례)
    • 무한 loop 방지
      • 반복 명령이 끝나지 않는 프로그램 오류로, CPU와 메모리등 리소스를 과다하게 점유

for문

for i in range(5): #range(5): 0부터 1씩 증가하며 5개의 값을 출력([0,1,2,3,4])
    print(i)

for i in range(0,10,2): 0부터 10까지 2단위 간격으로 가져옴(0,2,4,8)
    print(i)

for i in "abcdefg": #문자열을 하나씩 리스트로 처리
    print(i)
 
for i in ["abc", "def", "ggg"]: # 각각의 문자열 리스트로 처리
    print(i)

while 문

  • 조건이 만족하는 동안 반복 명령문 수행
    i = 1
    while i < 10:
    i += 1

반복문 제어

  • break 특정 조건에서 반복 종료
    • i == 2일때 반복문 종료
  • continue 특정 조건에서 하위 명령 skip 후 다음 loop 진행
    • i == 2일때 print(i)를 실행하지 않고 다음 loop(i = 3) 진행
      for i in range(5):
         if i == 2: break(or continue)
         print(i)
  • for(or while)-else : 반복 조건이 만족하지 않을 경우 반복 종료 시 1회 수행

debugging(디버깅)

  • 코드의 오류를 발견하여 수정하는 과정으로, 오류의 원인을 알고 해결책을 찾아야 함
  • 문법적 에러를 찾기 위한 에러 메시지 분석
    • 들여쓰기 오류 : indentationError
    • 오탈자 오류 : NameError
    • ...
  • 논리적 에러를 찾기 위한 테스트
    • 중간에 print문을 통해 값을 확인해야 함
profile
DL, NLP Engineer to be....

0개의 댓글