개발기초

파이썬 기초문법 뽀개기 : 반복문과 함수

Veams 2022. 11. 21.

반복문에서 많이 활용하는 for문

그리고 함수 활용에 대해서 배워본다.

 

 

반복문

- 반복문을 사용하면, 반복적인 입력 줄일 수 있다?!

리스트안에 있는 요소들을 하나씩 꺼내서 써먹는다.

fruits = ['사과', '배', '감', '수박', '딸기']

for fruit in fruits:
    print(fruit)

실행결과 ==> 

사과


수박
딸기

 

전형적인 활용 사례

- 리스트 people 안에 딕셔너가 들어가있고, for문이 돌아가면서 조건에 맞는 것들만 출력하게 만들었다.

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 person in people:
    name = person['name']
    age = person['age']
    if age > 20:
        print(name, age)

실행결과 ==>

carry 38
ben 27
bobby 57
red 32
queen 25

 

@ 반복문에서 enumerate() 와 break의 활용

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 i, person in enumerate(people):
    name = person['name']
    age = person['age']
    print(i, name, age)
    if i > 3:
        break

실행결과==>

0 bob 20
1 carry 38
2 john 7
3 smith 17
4 ben 27

 

-  i가 4일 때의 출력을 완료하고, 반복문을 멈추었다.

 

왜 enumerate()를 활용할까?

만약 리스트 people이 1만 줄이라고 하자,

코딩을 막 시작한 상황에서, 해당 코드가 실행이 되는지 여부를 확인하고자 할 때

1만줄씩 실행을 모두 해서 출력을 해야한다면 시간이 항상 많이 걸리기에 비효율적일 것이다.

이때 enumerate 와 break를 활용하면,

굳이 1만줄씩 출력해보지 않아도 짧게 출력하는 상태에서

내가 원하는 코딩을 디버깅할 수 있을 것이다.

 

@ 반복문 - 연습문제1

리스트안에 있는 짝수의 갯수 구하기.

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

x= 0
for i in num_list:
    if i % 2 == 0 :
        x += 1

print(x)

실행결과 ==>

7

 

@ 반복문 - 연습문제2

리스안에 있는 모든 숫자 더하기

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

sum = 0
for num in num_list:
    sum = sum + num

print(sum)

실행결과 ==>

38

 

@ 반복문 - 연습문제3

리스트안에서 최대값을 구하라.

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

max = 0
for num in num_list:
    if max < num :
        max = num
print(max)

max 초기값을 0으로 선언하고

반복문이 계속 돌아가며, max 값 보다 num 값이 클 경우, max는 num값을 저장한다.

그리고 출력한다.

 

함수

예시1

def hello():
    print('안녕!')
    print('좋은 날씨야')


hello()

실행결과 ==>

안녕!

좋은 날씨

 

예시2

def sum(a,b):
    print('더하기를 하셨네요!')
    return a+b

result = sum(1,2)
print(result)

실행결과 ==>

더하기를 하셨네요!

3

 

 

@함수 연습문제

주민등록번호를 모두 입력하면, 여자 혹은 남자인지 판별하여 출력하는 함수 만들어보기

def check_gender(a):
    b = int(a.split('-')[1][:1])
    if b % 2 == 0 :
        print('여자')
    else :
        print('남자')

check_gender('951301-1012345')
check_gender('851331-2012345')
check_gender('621311-4012345')

실행결과==>

남자

여자

댓글