Day_1 06. Conditionals and Loops
작성일
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
- 오탈자 / 대문자 등에 의한 에러
- Indentation Error - 흔히 발생하는 에러
4.2 논리적 에러
- 논리적 에러 : 뜻대로 실행이 안되는 코드
- 중간 중간 프린터 문을 찍어서 확인
- loop review 처럼 해보기!
5. doing by yourself
- 인터넷에
댓글남기기