본문 바로가기
Python

[TIL] 파이썬 문법 기초3️⃣_13일차(조건문 if,else,elif / 반복문 for,enumerate,break /함수 def)

by 공부하죠 2024. 4. 11.
반응형

이전 시간에 이어서 파이썬 기초 문법에 대해 학습하겠습니다.🌸

✍🏻배운내용🌞

1. 조건문 : if, else, elif

2. 반복문 : for, enumerate, break

3. 함수 : def


1. 조건문

1) if 문  : 조건을 만족했을 때만 특정 코드를 실행하도록 하는 문법

‣ 조건에는 불 자료형이 들어갑니다.

Bool 자료형이란? 특별한 자료형으로 참 True /거짓 False 을 나타내는 자료형

 

2) else : 조건을 만족하지 않을 때 다른 코드를 실행하고 싶을 때 쓰는 문법

 

3) elif : 다양한 조건을 판단할 때 쓰는 문법

‣ 문자열의 길이는 len() 함수를 써서 구할 수 있습니다!

⇒ print(len("abcde"))    # 5

 

2. 반복문

1) for 문이란?

: 특정 구문을 여러 번 반복(Iteration)해서 실행할 때 사용합니다.

 반복횟수를 명확히 알고 있을 때 주로 사용

 dictionary의 for문을 다시 보면 key값만 출력

for문을 가장 많이 사용하게 됩니다. 그 이유는 while문 보다 좀 더 가독성과 편의성이 뛰어나기 때문입니다.

 

[ for문 구조 ]

  ①초기화식이 제일 먼저 실행됩니다.

→ 그다음 ②조건식을 평가해서 true이면

③실행문을 실행시키고 false이면 for문을 종료합니다.

만약 실행문이 실행되었다면 블록 내부의 ③실행문을 모두 실행시키고 ④증감식을 실행시킨 뒤 다시 ②조건식을 평가하는 순서입니다.

//문법
for(초기화식; 조건식; 증감식){
    실행문; 
}

//사용법
for(int i=0;i<10;i++){
    printf("%d\n",i);
}

for문 작동방식(흐름)

 

[실습] 이 리스트에서 나이가 20보다 큰 사람만 출력

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

>>>
carry 38
ben 27
bobby 57
red 32
queen 25

 

 

 

2) for 문 - enumerate 

‣ 반복문 사용 시 몇 번째 반복문인지 확인이 필요할 때 사용합니다.

인덱스 번호와 컬렉션의 원소를 tuple형태( , , ...)로 반환합니다.

 

3) for 문 - 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,p in enumerate(people):
    name = p['name']
    age = p['age']
    print(i,name,age)
------------
0 bob 20
1 carry 38
2 john 7
3 smith 17
4 ben 27
5 bobby 57
6 red 32
7 queen 25
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,p in enumerate(people):
    name = p['name']
    age = p['age']
    print(i,name,age)
    if i > 3:
        break
---------------
0 bob 20
1 carry 38
2 john 7
3 smith 17
4 ben 27

 dictionary의 for문을 다시 보면 key값만 출력

 

[실습] 반복문

1. 리스트에서 짝수만 출력하는 함수 만들기

num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
for i in num_list:
   if i%2==0:
    print(i)   
>>>
2
6
2
4
6
2
4

 

2. 리스트에서 짝수의 개수를 출력하기

num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
count = 0
for i in num_list:
   if i%2==0:
       count+=1
print(count)
>>>
7

 

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

num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
count=0
for i in num_list:
   count+=i
print(count)
>>>
38

 

4. 리스트 안에 있는 자연수 중 가장 큰 숫자 구하기

num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
big=0
for i in num_list:
    if i > big: # 만약 i이가 big보다 크며
        big=i  # 그 i가 big에 저장 → 그걸 끝까지 계속 반복
print(big)
>>>
6

 

3. 함수(function)

1) 함수(function)란?

: 반복되는 코드를 줄여주기 위해 특정 코드를 함수안에 정의하고, 그 코드를 함수명칭을 호출함으로써 코드를 실행하게 해줍니다.

 

[ 함수의 구조 ]

def 함수명(파라미터):
    실행될 코드
    return 결과 값

[🚨 주의 ]  return은 생략 가능. return이 수행되면 함수가 종료!!

 

[ 예문 ]

def hello():
    print("안녕!")
    print("또 만나요!")
hello()
hello()
>>>
안녕!
또 만나요!
안녕!
또 만나요!
def ss(a,b):
    return a+b

result=ss(1,2) # → def문으로 가서 return하면 3이 되고 이것이 result의 결과가 됨
print(result)
>>>
3
def ss(a,b):
    print('더하기를 하셨네요~')
    return a+b

result=ss(1,2)
print(result)
>>>
더하기를 하셨네요~
3
def bus_rate(age):
    if age > 65:
        print("무료로 이용하세요")
        return 0
    elif age > 20:
        print("성인입니다.")
        return 15000
    else:
        print("청소년입니다")
        return 12000

me = bus_rate(20)
print(me)
y = bus_rate(25)
print(y)
>>>
청소년입니다
12000
성인입니다.
15000

 

[실습] 함수

1. 주민등록번호를 입력받아 성별을 출력하는 함수 만들기

def check_gender(pin):
    num = int(pin.split('-')[1][0])
    if num %2 ==0:
        print('여성')
    else:
        print('남성')

check_gender('200101-3012345')
check_gender('200101-2012345')
>>>
남성
여성

 

 

 

[ 💡TIP💡 ] 파이썬에서 모르는 것은 무조건 검색! 검색!

특히 구글에 파이썬 ~ 구하기 , 또는 파이썬 ~ 이라고 쳐보면 다양한 블로그에서 정답이 나옵니다!

치트키는 ChatGPT에 검색!! 답만이 아닌 원리나 구조도 같이 물어보면 좋습니다✨

 

 


ADsP 시험 정보가 궁금하신 분들은 여기를 클릭 💨

SQL을 기초부터 공부하고 싶다면 여기를 클릭 💨

🔥 코딩테스트(코테)에 대해 궁금하다면 여기를 클릭 📑

PyCharm 과 Python 설치 방법은 여기를 클릭 📣

 

🌸 오늘 하루도 즐거운 하루 되세요🌄

반응형