Quiz) 당신의 학교에서는 파이썬 코딩 대회를 주최합니다.
참석률을 높이기 위해 댓글 이벤트를 진행하기로 하였습니다.
댓글 작성자들 중에 추첨을 통해 1명은 치킨, 3명은 커피 쿠폰을 받게 됩니다.
추첨 프로그램을 작성하시오.
조건1 : 편의상 댓글은 20명이 작성하였고 아이디는 1~20이라고 가정
조건2 : 댓글 내용과 상관 없이 무작위로 추첨하되 중복은 불가
조건3 : random 모듈의 shuffle 과 sample 을 활용
(출력 예제)
-- 당첨자 발표 --
치킨 당첨자 : 1
커피 당첨자 : [2, 3, 4]
-- 축하합니다 -
퀴즈 출처 : 나도코딩
내가 작성한 코드
from random import *
event = list(range(1, 21))
chichken = sample(event, 1)[0]
coffee = sample(event, 3)
print("-- 당첨자 발표 --")
print(f"치킨 당첨자 : {chichken}")
print(f"커피 당첨자 : {coffee}")
print("-- 축하합니다 --")
흠... 그런데 조건에서의 shuffle을 활용하진 않았는데 결과는 잘 나왔다.
그리고 shuffle()함수 코드도 shuffe(event)로 추가해서 돌려봤는데 그냥 똑같이 나왔다.
검색해보니 shuffle()함수를 쓰면 리스트 자체를 무작위로 섞어주기 대문에 추첨 과정이 더 자연스러워진다고 함
좋은 코드를 작성하는 것이 중요하다는 걸 알기에 이 정보도 알아놔야겠음
from random import *
event = list(range(1, 21))
shuffle(event) # 더 섞어주기
chichken = sample(event, 1)[0]
coffee = sample(event, 3)
print("-- 당첨자 발표 --")
print(f"치킨 당첨자 : {chichken}")
print(f"커피 당첨자 : {coffee}")
print("-- 축하합니다 --")
'코딩테스트' 카테고리의 다른 글
코딩 퀴즈 - 치킨집 자동 주문 시스템 (0) | 2023.03.23 |
---|---|
코딩 퀴즈 - 부동산 프로그램 (1) | 2023.03.23 |
프로그래머스 - 모의고사(수포자) (0) | 2023.03.22 |
간단 코딩 퀴즈 - 표준 체중 구하는 프로그램 작성 (0) | 2023.03.22 |
간단 퀴즈 - 사이트 고유 비밀번호 만들기 (0) | 2023.03.21 |