본문 바로가기
PYTHON/PYTHON 학습

파이썬 문법 기초 요약 2(조건문, 반복문, 함수)

by 쿙이콩 2025. 4. 22.
728x90
반응형

4. 조건문

if ~:   elif ~:   else:

: 빼먹지 않기

age = 25

if age < 20:                 # : 꼭 입력하기
    print('청소년입니다.')
elif age < 65:               # : 꼭 입력하기
    print('성인입니다.')
else:                        # : 꼭 입력하기
    print('무료로 이용하세요!')
    
#결과
#성인입니다.

 

5. 반복문

① : 빼먹지 않기 (조건문과 마찬가지)

print 위치 주의

 for ... in ...:

[tab] if ...:

[tab][tab] print  → if에 대한 조건문이라서!

people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

for x in people:              # : 꼭 입력하기
    if x['age'] > 20:         # age는 딕셔너리니까 ['']로 추출, : 꼭 입력
        print(x['name'])      # print 위치 주의 > if랑 연결되므로 들여쓰기
                              # name는 딕셔너리니까 ['']로 추출
                              
#결과
carry
ben
bobby
red
queen

 

 

5. 반복문(연습문제)

문제에서 주어진 것(공통)

num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]

5-1. 짝수 출력

% 2 == 0 

숫자니까 ==

num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]

for x in num_list:   # : 꼭 입력하기
    if x % 2 == 0:   # : 꼭 입력하기 # 숫자니까 ==
        print(x)     # if에 대한 print이므로 들여쓰기
#결과
2
6
2
4
6
2
4

 

5-2. 짝수의 개수 출력

count = 0

for ... in ...:

[tab] if ...:

[tab][tab] count += 1

print(count)

num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]

count = 0             # 짝수의 개수를 구하기 위해 설정

for x in num_list:    # : 꼭 입력하기
    if x % 2 == 0:    # : 꼭 입력하기
        count += 1    # 만약 x가 짝수면, 0인 count에 1씩 더하라(개수) #if 이어지므로 들여쓰기

print(count)          # 궁금한 건 개수이므로 count 넣기

#결과
7

 

5-3. 총합 구하기

total = 0

for x in ...:

[tab] total += x

print(total)

num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]

total = 0             # 총합을 구하기 위해 설정

for x in num_list:    # : 입력하기
    total += x        # 개수는 += 1, 총합은 += x

print(total)          # 궁금한 건 총합이므로 total 넣기

# 결과
38

 

5-4. 자연수 중 가장 큰 숫자 구하기

max = 0

for x in ...:

[tab] if max < x:

[tab][tab] max = x

print(max)

num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]

max = 0               # 최대값을 구하기 위해 설정

for x in num_list:    # : 꼭 입력하기
    if max < x:       # : 꼭 입력하기  # 부호 주의(max는 0에서 시작)
        max = x

print(max)

#결과
6

 

6. 함수

6-1. 나이에 따른 멘트 안내 print - 함수식

def bus_rate(age):
	if age > 65:
		print('무료로 이용하세요')
	elif age > 20:
		print('성인입니다')
	else:
		print('청소년입니다')

bus_rate(27)      # print 위에서 써서 안 써도 됨, 그냥 함수식(값) 입력
bus_rate(10)
bus_rate(72)

#결과
0
900
1200

6-2. 나이에 따른 버스 요금 안내 return - print(함수식)

def X(x):

[tab] if:

[tab] [tab] return

[tab] elif :

[tab] [tab] return

[tab] else:

[tab] [tab] return

print(X(x)) 

def bus_fee(age):    # 나이에 따른 버스 요금을 구하기 위한 함수 설정
    if age > 65:     # : 꼭 입력하기
        return 0
    elif age > 20:   # if 다음에는 elif    # : 꼭 입력하기
        return 1200
    else:            # else 뒤에도 : 꼭 입력하기
        return 900

# return의 경우, print 필요
print(bus_fee(70))   
print(bus_fee(9))    
print(bus_fee(35))

#결과
0
900
1200

 

6-3. 주민등록번호를 받아 성별을 추출하는 함수

문제

def check_gender(pin):

       print(' ')

my_pin = '200101-3012345'

check_gender(my_pin)

 

중요

① : 입력하기

② num이라는 가상의 명명 추가해서 if를 간단화

③ 문자형을 숫자형으로 바꾸기 int(x) 

*참고 pin.split(' ') 만 넣으면 run 안 됨

pin = '200502-1234567'             # 라고 가정하면,
print(pin.split('-'))              # print 입력해야 함
# 결과: ['200502', '1234567']
# 여기서 뒷 부분의 첫 번째 글자만 필요하므로
print(pin.split('-')[1][0])
# 결과: 1

# 다시 문제로 돌아와서

def check_gender(pin):           # : 꼭 입력하기
    num = pin.split('-')[1][0]   # if 에다가 바로 넣어주는 것이 아니라, num을 명명
    if int(num) % 2 == 0:        # num은 문자형이니까 숫자로 변환 int()   # : 꼭 입력하기
        print('여성')
    else:
        print('남성')

my_pin = '200101-3012345'
check_gender(my_pin)
#결과 
['200502', '1234567']
1
남성
728x90
반응형