본 문서는 나도코딩(유뷰트 영상) 자료를 스터디하며 정리한 내용입니다. (출처 : 유튜브 <나도코딩>)
파이썬 예제
파이썬 코딩 대회를 주최합니다. 참석률을 높이기 위해 댓글 이벤트를 진행하기로 하였습니다. 댓글 작성자 중에 추첨을 통해서 1명은 자동차, 3명은 냉장고를 받게 됩니다. 추첨 프로그램을 작성하세요.
조건1. 이벤트에 참석한 유저들의 (편의상) 아이디는 1 ~ 20 이라고 가정
조건2. 댓글 내용과 상관없이 무작위로 추첨하되 중복 추첨은 불가
조건3. random 모듈의 shuffle 과 sample 을 활용
(출력 예제)
** 당첨자 발표 **
자동차 당첨자 : 1
냉장고 당첨자 : [2, 3, 4]
** 축하합니다 **
(활용 예제)
from random import * # random 함수를 인포트 한다.
lst = [1,2,3,4,5] # lst 변수 리스트 선언해 준다.
shuffle(lst) # lst 값을 무작위로 섞어 준다.
print(sample(lst, 1) # lst 값에서 1개 만큼 샘플을 뽑는다.
정답
from random import *
# users = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
users = range(1, 21) # 1부터 20까지의 숫자를 생성
# print(type(users))
users = list(users) # range 자료형을 list 로 변경해 주어야 함.
shuffle(users)
winners = sample(users, 4) # 중복 선택을 피하기 위해, 먼저 4명을 뽑아요
print(" ** 당첨자 발표 ** ")
print("자동차 당첨자 : {0}".format(winners[0])) # 4명 중 첫번째 당첨자
print("냉장고 당첨자 : {0}".format(winners[1:4])) # 4명 중 2 ~ 4번째 당첨자
print(" ** 축하합니다 ** ")
shuffle(users)
sample(uesrs, 4)
{ }. format()
'SW.AI 트랙 > python' 카테고리의 다른 글
[Python] 파이썬 기초. if/for/while 활용 (1) | 2022.12.28 |
---|---|
[Python] 파이썬기초. print (0) | 2022.12.27 |
[Python] 파이썬 기초. 자료구조의 변경 (0) | 2022.12.27 |
[python] 파이썬 기초. 사전, 튜플, 집합(세트) (0) | 2022.12.23 |
[python] 파이썬 기초. 문자열포맷, 이스케이프문자, 리스트 (1) | 2022.12.20 |