본문 바로가기
Python

1/8 - Python 기초 학습 3일차 & 개인과제 제출

by PETRA_94 2024. 1. 9.

[기억할 개념]
*/t를 \t로 바꿀줄 몰라서 한참 헤맴 
1. Python 문자열 사용법

\n줄바꿈
\ttap
\0null값(공백)
\\\표시
\' \'' '을 표현

 
2. 문자열 format() 메서드

*출처: Python Docs: https://docs.python.org/ko/3/tutorial/inputoutput.html
*출처: Python Docs: https://docs.python.org/ko/3/tutorial/inputoutput.html

 
 
[알고리즘 특강]

  • 퍼포마에게 알고리즘까지 왜 들어야 하는지 모르겠다. 아무래도 이 부트캠프가 개발자와 분석가 어느 중간에 걸쳐져 있어서 그런 것 같은데, 굳이 나까지 이걸 왜 들어야 하는지 설득 논리가 없다.
  • 마케팅 커리어 확장을 위해 자격증을 따는 나는, 알고리즘까지 굳이 들어야 할 필요가 없다고 본다. 그래서 막간의 과제를 제출하지 않았다.
  • 이런 필요 없는 과정은 가볍게 제끼고, 더 중요한 사이드 프로젝트를 하는 게 훨씬 효율적이다.

 
[Python 개인과제]

 

  • 내가 쓴 코드:
    ⓛ participant 중복 값을 포함해야 하고, compltion과는 중복이 겹치지 않아야 하니, 2개의 리스트를 합쳐서 2번 이상 count된 사람을 찾거나 (max 함수 활용)
    ② 혹은 각 1번 리스트에서는 중복값을 포함하고, 2번 리스트와 중복 비교를 하는 방법으로 로직을 생각했다.
    그런데 후자 방법은 중복값을 포함/미포함을 어떻게 설정해야할지 감이 잡히질 않아서 전자 방법으로 함.
# 예시 데이터
participant = ["mike", "lisa", "tom", "lisa"]
completion = ["tom", "mike", "lisa"]

find_non_completer = participant + completion #중복 원소를 추출해야 하니 2개 리스트 합침

person = max(find_non_completer, key=find_non_completer.count) #제일 등장한 횟수가 많은 사람 추출
print(person)

 

 

  • 내가 쓴 코드: 
    class와 속성을 먼저 정의 -> 개체를 맨 아래에 넣어주는 순서 기억하기! 팀원이 발견해줘서 알게 됨.
#클래스 생성&속성 정의
class Customer():
    def join_customer(self, x,y,z):
        self.name=x
        self.email=y
        self.point=z

    def add_points(self, x):
        self.point += x

    def reduce_points(self, x):
        self.point -= x
        if self.point < 0:
            self.point = 0
            print(f'{self.name}: {self.point}\t포인트가 부족합니다.')
        else:
            print(f'{self.name}: {self.point}')

customer1 = Customer()
customer1.join_customer("Alice", "alice@example.com", 100)
customer1.add_points(50)
customer1.reduce_points(20)
customer1.reduce_points(150)  # 포인트 부족 상황 테스트

 
 
[배운 점]

  • 오늘은 다소 힘든 날이었다. 팀원들과 공통 산업군을 정하는 데에 일단 힘이 들었고, 두번째로는 사이드 프로젝트에서도 목표와 목적을 의논하는 데에 힘이 들었다.
  • 공통 산업군은 팀원들 모두 직무와 혼동하거나, 혹은 카테고리를 너무 작게 혹은 너무 포괄적으로 잡아서 다시 정정해주는 데에 힘을 쏟았다. (이게 팀장의 역할인가...?) 여튼 공통 산업군은 만장일치로 정해졌다.
  • 흔히 Categorizing이라고 하는데, 팀원들 모두 실무 경험이 없거나, 저연차이기에 아직 감을 못 잡은 듯하다. 물론 나도 이제 시니어가 돼서 그나마 감을 잡은 상태인데, 팀원들은 더 헷갈렸을 것 같다.
  • 사이드 프로젝트는 팀원들끼리 뜨겁게 토론하였으나, 결론은 튜터의 의중 파악 없이는 우리끼리 정할 수 없다는 것이었다. 고로, 내일 미팅이 무엇보다 중요하다. 하지만 만약 튜터의 고객사에서 의중 없이 던져진 프로젝트라고 해도, 우리끼리 잡아갈 수 있는 방향은 명확하니 걱정은 되지 않는다.
  • 오늘은 사이드 프로젝트를 던져준 튜터님이나, 본 팀에 나의 역할을 보면서 명확한 방향성을 가진 선장(리더)의 역할이 무엇보다 중요함을 다시 한번 느끼게 됐다.