1. while 반복문


🚀  do while문이 없음
🚀  특정 조건을 만족하는 동안 반복해서 수행해야 하는 코드를 작성할 때 사용

while 조건식 :
    반복실행문

 

# while 반복문 사용
n = 1
while n <= 10:
    print(n)
    n += 1   # n = n + 1
print(n)

# 1부터 10 사이의 모든 정수를 역순으로 출력
n = 10
while n >= 1:
    print(n)
    n -= 1  # n = n - 1


# 100부터 50 사이의 짝수를 출력
n = 100
while n >= 50:
    if n % 2 == 0:
        print(n)
    n -= 1

n = 100
while n >= 50:
    print(n)
    n -= 2

 


1) 리스트 사용한 while 반복문

'''
사용자로부터 임의의 정수를 입력받아 모두 리스트에 보관.
단 사용자가 0을 입력하면 프로그램을 종료. 이 때 입력받은 0은 리스트에 보관하지 않음.
'''

my_list = []  # 빈 리스트 생성

# 방법 1)
n = int(input('정수를 입력하세요(종료는 0입니다.) >>> '))  # 한 번만 실행

while n != 0:  # n이 0이 아니면 계속 실행
    my_list.append(n)
    n = int(input('정수를 입력하세요(종료는 0입니다.) >>> '))

print(my_list)
print()

# 방법 2)
n = 1  # 0이 아닌 초깃값을 주면 반복문이 실행됩니다.

while n != 0:
    n = int(input('정수를 입력하세요(종료는 0입니다.) >>> '))
    my_list.append(n)

my_list.pop()  # my_list의 마지막 요소는 언제나 0이므로 제거합니다.
print(my_list)

 


 

2) 시간을 기반으로 반복 

🚀  유닉스 타임 Unix Time : 세계 표준시로 1970년 1월 1일 0시 0분 0초를 기준으로 몇 초가 지났는지를 정수로 나타낸 것 

# 유닉스 타임 구하는 법
import time
time.time()
# 시간 모듈
import time

# 변수 선언
number = 0

# 5초 동안 반복
target = time.time() + 5
while time.time() < target:
    number += 1
    
# 출력
print("5초 동안 {}번 반복했습니다.".format(number))
# 5초 동안 65488529번 반복했습니다.

 


 

2. break/continue 키워드

 

👩🏻‍💻  break문 : while문이나 for문과 같은 반복문을 강제로 종료하고자 할 때 사용하는 제어문
                         반복문 내에 break문이 나타나면 곧바로 break문이 포함된 반복문은 종료

n = 1
while True:
    print(n)
    if n == 10:
        break  # if문에서 break문을 작성 했지만 실제로 종료되는 것은 while문
    n += 1
print(n)  # 10

while True:  # 무한 루프
    city = input('대한민국의 수도는 어디인가요? >>> ')
    city = city.strip()  # 문자열의 양쪽끝에서 공백을 없앰
    if city == '서울' or city == 'seoul' or city == 'SEOUL':  # 대소문자 모두 정답처리
        print('정답입니다.')
        break  # 정답을 맞춰야 종료
    else:
        print('오답입니다. 다시 시도하세요.')


# 종료 조건이 2가지인 경우 : 5개까지 입력이 가능 혹은 그전에 그만두려면 q 입력

hobbies = []  # 빈 리스트 생성
while True:  # 무한루프
    hobby = input('취미를 입력하세요(종료는 그냥 q) >> ')
    if hobby == 'q':
        print('입력된 취미가 모두 저장되었습니다.')
        break
    else:
        hobbies.append(hobby)

    if len(hobbies) >= 5:
        print('5개 입력!')
        break
print(hobbies) # 전체 요소 출력

 


 

👩🏻‍💻  continue 문반복문의 시작 지점으로 제어의 흐름을 옮기는 역할
                                 반복에서 제외하거나 생략하고 싶은 코드가 존재할 때 사용

# 1에서 100사이의 모든 정수를 합하는데 3의 배수는 제외
total = 0
for a in range(1,101):
    if a % 3 == 0:  # 3의 배수인지 검사합니다.
        continue
    total += a
print(total)  # 3367


# 과일 이름 5개를 fruits 리스트에 저장.
# 2개는 미리 저장됨.
# 중복된 과일 이름은 저장이 안됨.

fruits = ['사과', '감귤']
count = 3  # 입력가능한 횟수

while count > 0:
    fruit = input('어떤 과일을 저장할까요? >>> ')

    if fruit in fruits:  # fruits 리스트에 fruit 변수에 있는 값이 있다면
        print('동일한 과일이 있습니다.')
        continue  # while문의 시작 지점으로 돌아가서 다시 과일 이름을 입력

    fruits.append(fruit)  # 입력된 과일 이름을 리스트에 저장
    count -= 1  # 입력 가능 횟수가 줄어듦.
    print(f'입력이 {count}번 남았습니다.')

print(f'5개 과일은 {fruits}입니다.')

 

 

 

 

 

[ 내용 참고 : IT 학원 강의 자료 및 책 '혼자 공부하는 파이썬' ]


 

1. 범위  range

 

👾  특정한 횟수만큼 반복해서 돌리고 싶을 때 for 반복문과 범위를 조합해서 사용한다.

👾  정수 범위를 만들어 낼 때 유용한 함수 

# 기본구조
range(초깃값, 종료값, 증감값)

 

  ⚡️  특징   1. 초깃값부터 종료값 전까지 숫자(n)들의 컬렉션을 만듦 (초깃값 <= n < 종료값)
                   2. 초깃값을 생략하면 0부터 시작
                   3. 종료값은 생략할 수 없음
                   4. 증감값을 생략하면 1씩 증가

# 종료값만 존재
range(5) : 0, 1, 2, 3, 4
# 초깃값, 종료값만 존재
range(1, 11) : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
# 초깃값, 종료값, 증감값 다 존재
range(1, 10, 2) : 1, 3, 5, 7, 9

# 리스트와 튜플
print(list(range(1, 6)))  # [1, 2, 3, 4, 5]
print(tuple(range(1, 6)))  # (1, 2, 3, 4, 5)

 


🚀  수식에 연산자를 사용한 경우

 

  - range() 함수의 매개변수로 반드시 '정수'를 입력해야 함

n = 10
a = range(0, n/2)
# -> 매개변수로 나눗셈을 사용한 경우 'TypeError'발생
a = range(0, n//2)
# -> 몫은 정수로 나오기 때문에 가능

 


 

2.  for 반복문: 범위와 함께 사용

# 기본 형식
for 숫자 변수 in 범위:
    코드
# for 반복문
for n in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    print(n)

# range() 사용한 for 반복문
for n in range(1, 11):
    print(n)

# range() 함수를 이용해 생성한 값을 사용하지 않는 경우
for n in range(10):  # 10번 반복
    print('Hello')

 


 

🚀  리스트와 범위 조합

# 리스트 선언
array = [270, 33, 100, 55, 11]

# 반복문에 적용
for i in range(len(array)):
    print("{}번째 반복: {}".format(i, array[i])

'''
실행결과)
0번째 반복: 270
1번째 반복: 33
2번째 반복: 100
3번째 반복: 55
4번째 반복: 11
'''

 


 

3. for 반복문: 반대로 반복하기

 

1) range() 함수 매개변수 사용

for i in range(4, 0-1, -1):
    print("현재 반복 변수: {}".format(i))

'''
실행결과)
현재 반복 변수: 4
현재 반복 변수: 3
현재 반복 변수: 2
현재 반복 변수: 1
현재 반복 변수: 0
'''

 

 

2) reversed() 함수 사용

for i in reversed(range(5)):
    print("현재 반복 변수: {}".format(i))
    
'''
실행결과)
현재 반복 변수: 4
현재 반복 변수: 3
현재 반복 변수: 2
현재 반복 변수: 1
현재 반복 변수: 0
'''

 


 

4. 중첩 반복문

output = ""

for i in range(1,10):
    for j in range(0,i):
        output += "*"
    output += "\n"
    
print(output)

 

 

 

  ⚡️  외부의 반복문: 줄생성(\n)

  ⚡️  내부의 반복문: 별생성(*)

 

 

 

 

 

 

 

output = ""

for i in range(1, 10):
    for j in range(9, i, -1):
        output += ' '
    for k in range(0, 2*i-1):
        output += '*'
    output += '\n'
   
print(output)

 

 

 

  ⚡️  외부의 반복문: 줄생성(\n)

  ⚡️  내부의 반복문 1 : 공백생성

 ⚡️  내부의 반복문 2 : 별생성(*)

 

 

 

 

 

 

 

 

 

[ 내용참고 : IT 학원 강의 자료 및  책 '혼자 공부하는 파이썬' ]


 

1. 딕셔너리  dictionary

 

👾  키 key 를 기반으로 값 value을 저장하는 것

       ➡️  '단어'와 '단어의 의미'처럼 사용

👾  딕셔너리는 인덱스가 존재하지 않는 대신 키를 인덱스처럼 사용
       ➡️  키 값을 알면 저장된 값을 확인할 수 있는 구조

 


 

1) 딕셔너리 선언

  ⚡️ 딕셔너리는 중괄호 {} 로 선언하며, 키:값 형태를 쉼표로 연결해서 만든다.

  ⚡️ 키는 문자열, 숫자, 불 등으로 선언 가능

# 딕셔너리 선언 방법
변수 = {
    키:값,
    키:값,
    ...
    키:값
}

# 키값의 자료형이 문자열(str) 이라면 dict() 함수를 이용해서 생성 가능
d = dict(a='apple', b='banana')
print(d)  # {'a': 'apple', 'b': 'banana'}

 

 

💡 딕셔너리 문자열 키와 관련된 오류

    - 키를 문자열로 사용할 때 따옴표를 붙이지 않으면 NameError가 발생한다

dict_key = {
    name : "망고",
    type : "절임"
}
# 이렇게 실행하면 NameError가 발생
# key에 따옴표("")를 붙여줘야 한다

 

2) 딕셔너리 요소 접근

  ⚡️ 리스트처럼 딕셔너리 뒤에 대괄호 []를 입력하고 내부에 인덱스처럼 키를 입력

  ⚡️ 주의할 점은 딕셔너리 선언할 때는 중괄호 {} 사용하지만, 요소에 접근할 때는 대괄호[] 사용

d = {'a': 'apple', 'b': 'banana'}
print(d)  # {'a': 'apple', 'b': 'banana'}
print(type(d))  # <class 'dict'>
print(d['a'])  # apple 
print(d['b'])  # banana

 


 

3) 딕셔너리에 값 추가/제거

 

  ⚡️  딕셔너리에 값을 추가할 때는 키를 기반으로 값을 입력

  ⚡️  setdefault() 메소드를 이용해 추가할 경우 동일한 키가 있는 경우 수정 x

  ⚡️  update() 메소드를 이용해 추가할 경우 동일한 키가 있으면 수정 o

딕셔너리[새로운키] = 새로운 값
dic['watermelon'] = '멜론'
print(dic)  # {'apple': '사과', 'watermelon': '멜론'}

# 존재하는 키값을 이용해서 정의하면, value 수정으로 인식
dic['watermelon'] = '수박'
print(dic)  # {'apple': '사과', 'watermelon': '수박'}

# setdefault() 메소드를 이용한 추가
me = {'name': 'james'}
me.setdefault('age', 20)
print(me)  # {'name': 'james', 'age': 20}
me.setdefault('age', 30) # 동일한 키가 있는 경우에 무시
print(me)  # {'name': 'james', 'age': 20}

# update() 메소드의 경우 존재하는 키값이면 수정
me.update(age=25)
print(me)  # {'name': 'james', 'age': 25}

# update() 메소드의 경우 존재하지 않는 키값이면 추가
me.update(address = 'seoul')
print(me)  # {'name': 'james', 'age': 25, 'address': 'seoul'}

 

 

  ⚡️  del 키워드 or  pop() 메소드를 사용하여 특정 키를 지정하면 해당 요소가 제거

# del 키워드 사용
dic = {'apple' : '사과', 'watermelon' : '수박'}
del dic['apple']  # {'watermelon': '수박'}


# pop() 메소드 사용
dic = {'apple' : '사과', 'watermelon' : '수박'}
dic.pop('watermelon')  # {'apple': '사과'}

 


💡  KeyError 예외

   - 존재하지 않는 키에 접근하면 발생

dic = {}
dic['key']
# -> 존재하지 않는 키이므로 KeyError 발생

 

 


4) 딕셔너리 내부에 키가 있는지 확인

  ⚡️ in 키워드나 get() 함수를 사용해 딕셔너리 내부에 키가 있는지 확인할 수 있다.

# in 키워드 사용
dic = {'a': 'apple', 'b': 'banana', 'c': 'carrot'}
if 'a' in dic:
    print(dic['a'])
else:
    print("존재하지 않는 키에 접근하고 있습니다.)
    
# 실행결과: apple

 

# get() 함수 사용
dic = {'a': 'apple', 'b': 'banana', 'c': 'carrot'}
value = dic.get('b')
print('값 = ', value)  # 값 =  banana

# 존재하지 않는 키 접근
value = dic.get('d')
print('값 = ', value)  
if value == None:
    print('존재하지 않는 키에 접근했습니다.')  
# 실행결과) 
# 값 =  None
# 존재하지 않는 키에 접근했습니다.

 

 

 

 

[ 내용 참고 : IT학원 강의 및 책 '혼자 공부하는 파이썬' ]


 

1. for 반복문

 

🚀   값의 범위나 횟수가 정해져 있을 때 사용하면 편리한 반복문

🚀  for 반복문은 리스트에 있는 요소 하나하나가 변수에 들어가며 차례차례 반복하게 됨

       ➡️  print() 함수로 출력하게 되면 리스트 요소가 차례차례 출력됨
🚀   반복가능객체 ?
        a. 시퀀스 sequence 자료형 : 순서를 가지고 있는 자료형 ( 문자열, 리스트, 튜플, range )
        b. 비시퀀스 non-sequence 자료형 : 순서를 가지고 있지 않은 자료형 ( 세트, 딕셔너리 )

# 기본 구조 
for 변수 in 반복가능객체 :
    반복실행문

 

1) 문자열

for ch in 'Hello':  # 문자열 내부의 문자를 하나씩 꺼내서 사용할 수 있음
    print(ch)
    
'''    
실행결과)
H
e
l
l
o
'''

 


 

2) 리스트

for item in ['가위', '바위', '보']:
    print(item)

# 인덱스 번호 사용 1) 변수생성. 비추천
n = 0
for item in ['가위', '바위', '보']:
    print(f'{n} {item}')
    n += 1

# 인덱스 번호 사용 2) enumerate() 사용. 추천
li = ['가위', '바위', '보']
for i, v in enumerate(li):  # i:index, v:요소의 값 value
    print(f'{i} {v}')

실행 결과

 


 

3) 리스트 내포

# 기본형식
리스트 = [표현식 for 변수 in 반복가능객체]
li = [n * 2 for n in [1, 2, 3]]
print(li)  # [2, 4, 6]

# 조건에 맞는 데이터만 추출 가능
# 리스트 = [표현식 for 변수 in 반복가능객체 if 조건식]
li = [n * 2 for n in [1, 2, 3, 4, 5]]
print(li)  # [2, 4, 6, 8, 10]

li = [n * 2 for n in [1, 2, 3, 4, 5] if n % 2 == 1]  # 1, 3, 5만 추출
print(li)  # [2, 6, 10]

# 리스트 내포를 사용하지 않으면
li = []
for n in [1, 2, 3, 4, 5]:
    if n % 2 == 1:
        li.append(n * 2)
print(li)

 


 

4) 세트 set

👩🏻‍💻  수학의 집합 개념을 구현한 자료형
👩🏻‍💻  저장된 값들은 순서가 없기 때문에 인덱싱과 슬라이싱을 사용할 수 없음
👩🏻‍💻  대신 중복된 값의 저장이 불가능해서 중복 제거용으로 사용

 

    ⚡️  특징
        a. 중복된 값을 저장할 수 없음
        b. 저장되는 순서가 없음

# 중괄호({}) 또는 set() 함수를 이용하여 생성
li = [1, 1, 2, 2, 3, 3]
print(li)  # [1, 1, 2, 2, 3, 3]
print(set(li)) # {1, 2, 3}
li = list(set(li))  #중복된 값을 제거
print(li) # [1, 2, 3]
# 추가를 할 때 add() 메소드 사용
s = {10, 20, 30}
s.add(40) # 세트에 40을 추가
print(s) #{40, 10, 20, 30} / 저장된는 요소들은 순서가 없음

# 삭제를 할 때는 remove()나 discard() 메소드 사용
s.remove(20) # 세트에서 20을 제거. 20이 없으면 오류가 발생
print(s) # {40, 10, 30}

s.discard(30) # 세트에서 30을 제거. 30이 없어도 오류가 발생하지 않음
print(s) # {40, 10}

 

📌  for 반복문과 세트

# 기본형식
for 요소 in {세트}:
    반복실행문
for item in {'가위', '바위', '보'}:  # 순서가 지켜지지 않음
    print(item)

# 실행결과
# 바위
# 보
# 가위

 


 

5)  딕셔너리  

  👾  key와 value의 조합이라 다른 자료형과 다른 방식으로 사용을 함 (키만 출력)

person = {'name': '에밀리', 'age': 20}
for item in person:
    print(item)  # name age

# value 출력
for key, value in person.items():
    print(f'{key}:{value}')

for key in person:
    print(person[key])  # 에밀리 20

for key in person:  # get() 메소드를 이용해서 해당 key에 해당하는 value를 가져옴
    print(person.get(key))  # 에밀리 20

# 영어사전을 딕셔너리 자료형으로 구현하고
# 영어 사전에 등록된 모든 단어와 그 단어의 의미를 출력
eng_dict = {
    'sun': '태양',
    'moon': '달',
    'star': '별',
    'space': '우주'
}
for word in eng_dict:
    print(f'{word}의 뜻: {eng_dict.get(word)}')
    print(f'{word}의 뜻: {eng_dict[word]}')

 


 

2. 중첩 리스트와 중첩 반복문

 

🚀  반복문을 여러 겹 중첩해 사용하면 중첩 반복문

🚀  [1,2,3] 처럼 리스트가 한 겹으로 감싸진 리스트를 1차원 리스트

🚀  [[1,2,3], [4,5,6], [7,8,9]] 처럼 두 겹으로 감싸진 리스트를 2차원 리스트

 

# 2차원 리스트 반복문 한 번 사용
list_of_list = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8]
]

for items in list_of_list:
    print(items)
    
'''
실행결과)
[1, 2, 3]
[4, 5, 6]
[7, 8]
'''
# 2차원 리스트 반복문 두 번 사용
list_of_list = [
    [1, 2, 3]
    [4, 5, 6]
    [7, 8]
]

for items in list_of_list:
    for item in itmes:
        print(item)
'''
실행결과)
1
2
3
4
5
6
7
8
'''

 


 

3. 전개 연산자

 

🚀  전개 연산자를 사용하면 리스트 내용을 전개해서 입력할 수 있다.

🚀  리스트 내부와 함수의 매개변수 위치에 사용

# 리스트 내부에 사용하는 경우
a = [1, 2, 3, 4]
b = [*a]  # [1, 2, 3, 4]
c = [*b, 5]  # [1, 2, 3, 4, 5]
# -> b 내용에 어떠한 영향도 없이 새로운 리스트 c가 만들어짐

# 함수 매개변수 위치에 사용하는 경우
a = [1, 2, 3, 4]
print(*a)  # 1 2 3 4

 

 

 

 

 

[ 내용 참고 : IT 학원 강의 및 책 '혼자 공부하는 파이썬' ]


 

1. 리스트  list

 

🚀  사전적 의미는 '목록'이며 파이썬에서 리스트 의미는 여러가지 자료를 저장할 수 있는 자료

🚀  저장하고자 하는 값들의 자료형(type)이 서로 다르더라도 하나의 리스트에 저장

 

  ⚡️  리스트를 생성하는 방법 : 대괄호 []에 자료를 쉼표로 구분해서 입력 또는 리스트 함수 list() 를 이용해서 생성

  ⚡️  대괄호 내부에 넣는 자료를 요소 element 라고 한다

[요소, 요소, 요소...]

 

# 정수, 실수, 문자열을 각 1개씩 저장하고 있는 리스트 생성
li = [100, 3.14, 'hello']
print(li)  # [100, 3.14, 'hello']
print(type(li))  # <class 'list'>

 

 

100 3.14 hello

                   [0]                                       [1]                                       [2]

                   [-3]                                     [-2]                                     [-1]

 

  👾  각각의 요소는 위와 같은 형태로 저장 된다.

  👾  대괄호 [] 안에 들어간 숫자를 인덱스 index라 부르며, 0부터 센다.

  👾  뒤에서부터 문자를 선택할 때 0이아닌 -1부터 센다

 


 

💡 리스트 접근 연산자를 이중으로 사용하는 방법

list = [333, 7, 'hello', True]
list[2]  # hello
list[2][0]  # h

 

👾  list [2]를 지정하면 'hello'를 꺼내오고 list[2][0] 이면 'hello'에서 다시 0번째를 가져와 출력

 


 

💡  리스트 안에 리스트 사용 가능

list = [[1,2,3], [4,5,6], [7,8,9]]
list[1]  # [4,5,6]
list[1][1]  # [5]

 


 

2. 리스트 연산하기: 연결(+), 반복(*), len()

 

🚀  문자열과 리스트는 비슷한 자료형으로 사용할 수 있는 연산자와 함수도 비슷함

# 리스트 선언
list_a = [1,2,3]
list_b = [4,5,6]

# 출력
print("list_a = ", list_a)
print("list_b = ", list_b)
print()

# 기본 연산자
print("list_a + list_b = ", list_a + list_b)  # 자료 연결
print("list_a * 3 = ", list_a * 3)  # 자료 반복
print()

# 함수
print("len(list_a) = ", len(list_a))

실행 결과

 


 

3. 리스트 정렬: sort(), sorted(), reverse = True

 

🚀  sort(), sorted()는 리스트 요소를 정렬할 때 쓰는 함수로 기본 오름차순 정렬이다

🚀  reverse = True 옵션을 추가할 경우 내림차순 정렬로 반환

리스트.sort()  # 원본이 정렬됨
sorted(리스트명)  # 원본이 정렬된 것 x

 

list_a = [33, 100, 1, 6, 29]
list_a.sort()  # 오름차순 정렬
print(list_a)  # [1, 6, 29, 33, 100]

 

my_list2 = ['b', 'c', 'a', 'd']
print(sorted(my_list2))  # ['a', 'b', 'c', 'd']
print(sorted(my_list2, reverse=True))  # ['d', 'c', 'b', 'a']

my_list = [6, 3, 1, 2, 5, 4]
print(sorted(my_list))  # [1, 2, 3, 4, 5, 6]
print(sorted(my_list, reverse=False))  # [1, 2, 3, 4, 5, 6]
print(sorted(my_list, reverse=True))  # [6, 5, 4, 3, 2, 1]

print(sorted(my_list))  # [1, 2, 3, 4, 5, 6]
print(my_list)  # [6, 3, 1, 2, 5, 4] / 실제로 정렬이 된건 아님

my_list = sorted(my_list)  # 오름차순 정렬 결과를 덮어쓰기
print(my_list)  # [1, 2, 3, 4, 5, 6]

 


 

4. 리스트 내부에 있는지 확인: in/not in 연산자

 

🚀  특정 값이 리스트 내부에 있는지 확인하기 위해 in 연산자 사용

🚀  리스트 내부에 값이 있으면 True, 없으면 False를 출력

🚀  not in 연산자는 리스트 내부에 해당 값이 없는지 확인하는 연산자

 

값 in 리스트
list_a = [273, 33, 100, 51, 99]
273 in list_a  # True
98 in list_a  # False

273 not in list_a  # False
98 not in list_a  # True

 

 

 

 

 

[ 내용 참고 : IT 학원 강의 자료 및 책 '혼자 공부하는 파이썬' ]


 

1. else 조건문

 

🐰  if 조건문 뒤에 사용하며 if 조건문의 조건이 거짓일 때 실행

# if 조건식
#    조건식의 결과가 True일 때 실행문
# else :
#    조건식의 결과가 False일 때 실행문

 

num = 6
if num >= 0:
   print('양수')
else:
   print('음수')

 


 

2. elif 구문

 

🐰  세 개이상의 조건을 연결해서 사용하는 조건문

# if 조건식1 :
#    조건식1의 결과가 True일 때 실행문
# elif 조건식2 :
#    조건식1의 결과가 False이고, 조건식2의 결과가 True일 때 실행문
# elif 조건식3 :
#    조건식1, 2의 결과가 False이고, 조건식3의 결과가 True일 때 실행문
# else :
#    조건식1, 2, 3의 결과가 False일 때 실행문

 

# 나이를 입력받아 7살 이하면 '미취학', 8~13살이면 '초등학생', 14 ~ 16살이면 '중학생',
# 17 ~ 19살이면 '고등학생', 20살 이상이면 '성인'을 출력하는 프로그램입니다.
age = int(input('몇 살입니까? >>> ')) # int() 함수를 이용해서 정수로 변환
if age <= 7:
   print('미취학')
elif age <= 13:
   print('초등학생')
elif age <= 16:
   print('중학생')
elif age <= 19:
   print('고등학생')
else:
   print('성인')

 

  📌  else 구문과 elif 구문은 이전의 조건이 맞지 않을 때 넘어오는 부분

         ➡️ 이미 제외된 조건을 한번 더 검사할 필요 없기 때문에 위의 예제와 같이 간단하게 표현 가능

 


 

3.  pass 키워드

 

🐰  프로그래밍을 하다 보면 전체 골격을 잡아 놓고 내부에서 처리할 내용은 나중에 채워넣는 경우가 있음

       ➡️  이런 경우 if 조건문에 구현 내용을 아무 것도 적어 놓지 않으면 error가 발생함

       ➡️  이때 '곧 개발하겠음' 이라는 의미로 'pass' 키워드를 넣어주면 error가 발생하지 않는다

 

# pass 키워드를 사용한 미구현 부분 입력

num = int(input('정수 입력 >>> '))
if num > 0:
    # 양수일 때 : 미구현 상태
    pass
else:
    # 음수일 때 : 미구현 상태
    pass

 


 

💡 raise NotImplementedError

   -  아직 구현하지 부분이라는 의미의 오류를 강제로 발생하게 함

 

num = int(input('정수 입력 >>> ')

if num > 0:
    # 양수일 때
    raise NotImplemetedError
else:
    # 음수일 때
    raise NotImplementedError

 

 

 

 

 

[ 내용 참고 : IT학원 강의 및 책 '혼자 공부하는 파이썬' ]

+ Recent posts