기타/Python

250508_내일배움캠프 사전캠프_파이썬기초(3)

baektree 2025. 5. 9. 13:33

 

오늘의 학습 요약

  • 함수는 반복사용하는 코드에 이름 붙여 놓은 것
  • 연령별 버스요금 출력값을 만들 수 있다.
  • 주민번호를 보고 성별을 구분할 수 있다. 

1. 오늘 학습 한 내용을 나만의 언어로 정리하기

  • [함수]
    • 반복적으로 사용하는 코드들에 이름을 붙여놓는 것
      • ex) 65세 이상이면 버스이용료 무료 20세 이상이면 버스이용료 1500 그렇지 않으면 버스이용료 800
      • def bus_rate(age): if age > 65: print (”무료로 이용하세요.”) if age > 20: print(”1500원입니다.”) else: print(”800원입니다.”) bus_rate(31) —> 1500원입니다.
      • ex) 주민등록번호를 입력받아 성별을 출력하기
        • 방법 생각해보기
          1. der로 함수 정의하기 (입력값) 하면 (출력값)가 나온다.
          2. 입력값 변수 만들기
            • gender(pin) → 주민번호 num —> 주민번호에서 성별을 구분하는 숫자
            • num 성별을 구분하는 숫자 하나 출력하기
            • num을 2로 나눴을 때 나머지가 0이면 짝수니까 “여자”
            • 그렇지 않으면 “남자”
          3. 출력값 확인하기
            • gender(pin)
        • def gender(pin): num = int(pin.split('-')[1][:1]) if num % 2 == 0: print("여자") else: print("남자") gender('200101-3012345') --> 남자 gender('200101-4012345') --> 여자 gender('200101-1012345') --> 남자
  • [튜플]
    • 불변인 자료형 a = (1, 2, 3)
    • 불변이기 때문에 요소를 바꿀 수 없다.
    • 보통 리스트와 튜플로 딕셔너리 비슷하게 만들어야 할 때 사용한다고 한다. a_dict = [(’bob’, ‘24), (’john’, 30)]
  • [집합]
    • 집합을 구현하면 중복이 제거 된다. a_set = set(a) print(a_set)
    • 교집합 print(a_set & b_set) 합집합 print(a_set | b_set) 차집합 print (a_set - b_set)

2. 학습하며 겪었던 문제점 & 에러

  • 문제1) 함수의 개념체계가 어려워요.
    • 내가 겪은 문제점?
      • 변수간 상/하위 개념 및 체계가 아직 감이 잡하지 않는다.
    • 내가 했던 풀이 방식, 왜 틀렸는지?
      • 상/하위 개념으로 구조화 하지 않고 무작정 풀었다.
    • 앞으로 어떻게 하면 좋을지?
      • 어떤 것부터 정의 내려야 할지 일련 작업 거친 다음에 차근차근 하나씩 대입한다.
      • 주민번호에서 남자 또는 여자 출력(위의 문제)하는 과정을 복기하자면
        1. def gender(pin): —> gender에 pin 입력할 때의 결과 값
        2. 주민등록번호에서 성별 구분하는 숫자 출력
        3. 그 숫자가 2로 나눠져서 나머지가 0일 경우 여자 , 그렇지 않으면 남자 임을 if문으로 나타내기
        4. gender(주민번호)입력해서 결과값 확인

3. 내일 학습 할 것은 무엇인지

  • [ ] 2-3 ~ 2-7 학습 >> TIL 작성하기 >> 중요한건 진도를 나가는 것보다 천천히 개념 습득하는 거니까 어렵다 싶으면 진도를 적게 나가도 괜찮다!

#내일배움캠프 #사전캠프 #TIL