[인사이트]
데이터 분석력은 단순한 숫자 해석이 아니라 문제를 정의하고 해결하는 사고방식이다. 특히 마케터는 고객의 행동을 분석하고 실질적인 성과 개선으로 연결하는 것이 보다 중요하다고 한다. 참 말은 쉽고 머리로는 이해되지만, 직접적인 성과로 연결되기까지가 너무 어려울것 같다고 느껴졌다. 중요하고 어려운 만큼, 심화된 기술을 다루는 데이터 엔지니어를 제외한 다른 직무들은 모두 아티클에서 설명하는 ‘기획력’이 가장 중요할 것이라고 생각한다. 앞으로 캠프를 하면서 정신없겠지만 눈 앞에 닥친 공부만 하다 끝내지 않고, 희망 직무와 산업군을 계속해서 고민하고 찾아보며 데이터 분석력을 활용할 수 있을지 생각해야겠다.
조건이 참인 동안 계속해서 특정 작업을 반복
while 조건: # 조건이 참일 때 실행할 코드 -- 조건은 반복문이 실행될지 말지를 결정하는 논리적 조건입니다. -- 조건이 참인 동안 while 문 안에 있는 코드가 반복적으로 실행됩니다. -- 조건이 거짓이 되면 반복문이 종료됩니다. -> 예시 i = 0 while i < 10: if i == 5: break # i가 5일 때 반복문을 종료 print(i) i += 1 break # 반복문 즉시 종료 continue # 조건을 만족할 경우 다음 반복을 건너뜀
for 변수 in 반복가능한_객체: # 실행할 코드 enumerate() '''리스트나 튜플과 같은 반복 가능한 객체에서 인덱스와 값을 동시에 얻을 수 있게 해주는 함수'''
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
for num in num_list:
if num%2 == 0:
print(num)
i = 0
for num in num_list:
if num % 2 == 0 :
i = i + 1
print(i)
i = 0
for num in num_list:
i = i + num
print(i)
i = 0
for num in num_list:
if num > i:
i = num
print(i)
함수 = 반복적으로 사용하는 코드에 이름을 붙인 것
기본구조def 함수이름(매개변수1, 매개변수2, ...): # 함수의 본문 (실행할 코드) return 반환값 # 함수가 실행된 결과를 반환 (선택적)
조건문에 넣을 값을 바꿔가며 결과를 확인할 때 쓰면 편함
def bus_rate(age):
if age > 65:
print("무료로 이용하세요")
elif age > 20:
print("성인입니다.")
else:
print("청소년입니다")
bus_rate(27) # 성인입니다.
bus_rate(10) # 청소년입니다
bus_rate(72) # 무료로 이용하세요
# 내 풀이
def check_gender(pin):
if pin[7] == '2' or pin[7] == '4':
print('여자')
elif pin[7] == '1' or pin[7] == '3':
print('남자')
# 답안
def check_gender(pin):
num = pin.split('-')[1][0]
if int(num) % 2 == 0:
print('여성')
else:
print('남성')
답은 일치하지만, 내 풀이는 문자열 8번째를 비교
답안은 숫자로 변경하여 짝수는 전부 여성 홀수는 남성
답안 풀이가 더 범용적
수정답안
def check_gender(pin):
num = pin[7]
if int(num) % 2 == 0:
print('여자')
else:
print('남자')
리스트와 비슷하지만 불변인 자료형
a = (1,2,3)
a_set = {a, b, c} b_set = {b, c, d} a_set & b_set # 교집합 a_set | b_set # 합집합 a_set - b_set # 차집합
변수로 더 직관적인 문자열 만들기
scores = [ {'name':'영수','score':70}, {'name':'영희','score':65}, {'name':'기찬','score':75}, {'name':'희수','score':23}, {'name':'서경','score':99}, {'name':'미주','score':100}, {'name':'병태','score':32} ] # 문자와 값을 함께 표현하고 싶을 때 for s in scores: name = s['name'] score = str(s['score']) print(name+'는 '+score+'점 입니다') # f-string 이용하여 간단하게 표현 가능 for s in scores: name = s['name'] score = str(s['score']) print(f'{name}은 {score}점입니다')
에러가 있어도 건너뛸 수 있는 방법
people = [ {'name': 'bob', 'age': 20}, {'name': 'carry', 'age': 38}, {'name': 'john', 'age': 7}, {'name': 'smith', 'age': 17}, {'name': 'ben', 'age': 27}, {'name': 'bobby'}, {'name': 'red', 'age': 32}, {'name': 'queen', 'age': 25} ] # 'bobby'의 age 값이 없음! for person in people: if person['age'] > 20: print (person['name']) # 오류 발생! # try except 구문 이용해 에러 건너 뜀 for person in people: try: if person['age'] > 20: print (person['name']) except: name = person['name'] print(f'{name} - 에러입니다')
대충은 이해 되는데 문제를 많이 안풀어봐서 아직 완전히 다가오지는 않는다.
내일 강의 끝내고 문제를 많이 풀어봐야겠다..!