Day_1 06. Conditionals and Loops

작성일

2 분 소요

Conditionals and Loops

1. 조건문

  • 조건문이란?
    • 조건에 따라 특정한 동작을 하게하는 명령어
    • 파이썬은 조건문으로 if, else, elif 등의 예약어를 사용함

1.1 if-else문 문법

print("Tell me your age?")
myage = int(input())
if myage < 30:
    print("Welcome to the Club")
else:
    print("Oh! No. You are not accepted")

1.2 조건 판단 방법

  • if 다음에 조건을 표기하여 참 또는 거짓을 판단함
  • 참/거짓의 구분을 위해서는 비교 연산자를 활용
    • x < y
    • x > y
    • x == y
    • x is y : memory 주소가 같은지 비교
    • x != y
    • x is not y : memory 주소가 다른지 비교
    • x >= y
    • x <= y
  • -5 ~ 256 까지의 숫자는 같은 메모리 주소를 사용하기 때문에 is 비교는 같은 주소를 가진다.

1.3 조건 참/거짓의 구분

  • 숫자형의 경우는 수학에서의 참/거짓과 동일(1이상: True, 0: False)
  • 컴퓨터는 존재하면 참 없으면 거짓이라고 판단함
  • string “abc”: True, “”: False

1.4 논리 키워드 사용: and, or, not

  • 조건문을 표현할 때 집합의 논리 키워드를 함께 사용하여 참과 거짓을 판단하기도 함
a = 8
b = 5
if a == 8 and b == 4:  # 거짓
if a > 7 or b > 7      # 참
if not (a > 7)         # 거짓, a > 7 인 것이 참 이므로 거짓으로 판단됨

1.5 삼항 연산자(Ternary operators)

  • 조건문을 사용하여 참일 경우와 거짓일 경우의 결과를 한줄에 표현
value = 12
is_even = True if value %  2 == 0 else False
print(is_even)
True

2. 반복문

  • 정해진 동작을 반복적으로 수행하게 하는 명령문
  • 파이썬은 반복문으로 for, while 등의 명령 키워드를 사용함

2.1 for loop

  • 기본적인 반복문: 반복 범위를 지정하여 반복문 수행
  • range()
    • 마지막 숫자 바로 앞까지 리스트를 만들어줌
    • range(0, 5) = [0, 1, 2, 3, 4] = range(5)는 같은 의미
    • range(1, 10, 2) = [1, 3, 5, 7, 9] # 1부터 10까지 2씩 증가시키면서 반복
    • range(10, 1, -1) # 10부터 1까지 -1씩 감소시키면서 반복

2.2 while문

  • 조건이 만족하는 동안 반복 명령문을 수행
i = 0
while i < 10:
  print(f"{i} : Hello")
  i += 1

2.3 반복의 제어 - break, continue, else

  • break 특정 조건에서 반복 종료
for i in range(10):
  if i == 5:
    break
  print(i)
print("EOP")
  • continue 특정 조건에서 남은 반복 명령 skip
for i in range(10):
  if i == 5:
    continue
  print(i)
print("EOP")
  • else 반복 조건이 만족하지 않을 경우 반복 종료 시 1회 수행
for i in range(10):
    print(i,)
else:
    print("EOP")
i = 0
while i < 10:
    print(i,)
    i += 1
else:
    print("EOP")

2.4 loop_review

  • 반복문 중간중간 print() 사용해서 확인
  • Debugging Loop

3. loop & control lab

3.1 가변적인 중첩 반복문 (variable nested loops)

  • 실제 프로그램에서는 반복문은 사용자의 입력에 따라 가변적으로 반복되고 하나의 반복이 아닌 중복되어 반복이 일어남

4. debugging

  • 코드의 오류를 발견하여 수정하는 과정
  • 오류의 ‘원인’을 알고 ‘해결책’을 찾아야 함
  • 문법적 에러를 찾기 위한 에러 메시지 분석
  • 논리적 에러를 찾기 위한 테스트도 중요

4.1 문법적 에러 - Error 메시지 분석

  • 에러가 발생하면 인터프리터가 알려줌
    • Indentation Error - 흔히 발생하는 에러
      • 들여쓰기를 Space로 했나 Tab으로 했나?
    • NameError
      • 오탈자 / 대문자 등에 의한 에러

4.2 논리적 에러

  • 논리적 에러 : 뜻대로 실행이 안되는 코드
  • 중간 중간 프린터 문을 찍어서 확인
  • loop review 처럼 해보기!

5. doing by yourself

  • 인터넷에

댓글남기기