[주제]
주니어 데이터사이언티스트가 해야하는 고민
[아티클 요약]
numbers = [1, 2, 3, 4, 2, 2, 5, 2]
value_to_find = 2
count = 0
for number in numbers:
if number == value_to_find:
count += 1
print(f'리스트에서 {value_to_find}는 {count}회 등장합니다!')
# 출력 : 리스트에서 2는 4회 등장합니다!
numbers = [10, 20, 30, 40, 50]
total_sum = 0
for sum in numbers:
total_sum += sum
print(total_sum)
# 출력 : 150
number = 5
i = 1
fac = 1
while i <= number:
fac = i * fac
i += 1
print(fac)
# 출력 : 120
a = ['기절초풍', '멋있는', '재미있는']
b = ['도전적인', '노란색의', '바보같은']
c = ['돌고래', '개발자', '오랑우탄']
import random
# 나의 풀이
print(f'{random.choice(a)} {random.choice(b)} {random.choice(c)}')
# 답지
# 함수 생성
def ramdom_nicname():
# 랜덤 세 단어 합치기
abc = random.choice(a) + random.choice(b) + random.choice(c)
return abc
# my_name에 함수 지정
my_name = ramdom_nicname()
print(my_name)
나는 그냥 print만 생각했고, 답은 함수를 생성하고 my_name 변수까지 생성함. 답은 똑같이 나오지만 활용하는거까지 신경쓰자.
파이썬에서 무작위 수를 생성할 때 유용하게 사용할 수 있는 내장 모듈
import random random.choice(sequence) # 주어진 시퀀스(리스트, 튜플 등)에서 무작위로 하나의 요소를 반환합니다. random.shuffle(sequence) # 시퀀스의 항목들을 무작위로 섞습니다. 리스트에서만 사용 가능합니다. random.sample(sequence, k) # 시퀀스에서 중복 없이 k개의 항목을 무작위로 선택하여 반환합니다.
# 음료 딕셔너리 생성
drink = {'사이다' : 1700, '콜라' : 1900, '식혜' : 2500, '솔의눈' : 3000}
# for문 활용해 메뉴 표시
for i in drink:
print(f'{i} {drink[i]}원')
# input 사용해 음료 선택하기
choice = str(input('어떤 음료를 구매하시겠습니까?: '))
# 음료 있다면
# drink.keys()표시는 안해도 결과 동일. 만약 한다면 코드의 의도를 명확히 하기 위해.
if choice in drink:
# 지불하는 금액 입력
money = int(input('얼마를 넣겠습니까?: '))
# 지불 금액이 선택 음료보다 적은 경우
if money < drink[choice]:
print('돈이 부족합니다.')
# 많거나 같아서 구매할 수 있는 경우
else:
# 잔돈 표시
change = money - drink[choice]
print(f'잔돈입니다: {change}원')
# 목록에 없는 음료일 경우
else:
# 실행 종료
print('없는 음료입니다.')
제작 완료!
# 제대로 구매
사이다 1700원
콜라 1900원
식혜 2500원
솔의눈 3000원
어떤 음료를 구매하시겠습니까?: 솔의눈
얼마를 넣겠습니까?: 5000
잔돈입니다: 2000원
# 존재하지 않는 상품
어떤 음료를 구매하시겠습니까?: 참이슬
없는 음료입니다.
# 지불 금액 부족
어떤 음료를 구매하시겠습니까?: 콜라
얼마를 넣겠습니까?: 1000
돈이 부족합니다.
이런 식으로 작동한다.
그런데 답지에서는 딕셔너리의 key와 value를 구분해서 작성했다.
GPT에게 질문
# 효원님의 코드 (현재 코드)
for i in drink:
print(f'{i} {drink[i]}원')
이 코드는 drink 딕셔너리에서 키만 순차적으로 가져와서 i로 사용하고,
그 키를 이용해 drink[i]로 값을 찾아 출력하는 방식입니다.
이렇게 해도 정상적으로 동작합니다.
# 답지 코드 (키와 값 구분해서 사용)
for key, value in drink.items():
print(f'{key} {value}원')
이 방식에서는 drink.items()를 사용하여
딕셔너리의 키와 값을 동시에 순회하면서 key와 value로 각각 저장합니다.
이렇게 하면 키와 값을 각각 구분해서 사용할 수 있습니다.
키와 값을 모두 for문으로 하나씩 보내줘야하니까 items를 쓰는게 더 편한 거였다!
내 자판기에서
values를 찾기 위해선 딕셔너리.values() 표시 필수.
items() 딕셔너리의 각 항목을 (key, value) 형태의 튜플로 반환
keys() 딕셔너리의 키만 반환
values() 딕셔너리의 값만 반환
Python 달리기반 문제를 풀어봤다...확실히 배우는 게 많다. 파이썬 lv3을 풀기 전에 sql부터 하고 진도를 나가야겠다. 사전캠프도 이제 일주일 남았다! 사전캠프때 배우는 것들만이라도 마스터하고 시작하고 싶다!