Algorithm

Quiz) 추첨 프로그램 _파이썬

Saans 2021. 11. 19. 12:25

Quiz) 당신의 학교에서는 파이썬 코딩 대회를 주최합니다.
참석률을 높이기 위해 댓글 이벤트를 진행하기로 하였습니다.
댓글 작성자들 중에 추첨을 통해 1명은 치킨, 3명은 커피 쿠폰을 받게 됩니다.
추첨 프로그램을 작성하시오.

조건 1 : 편의상 댓글은 20명이 작성하였고, 아이디는 1~20 이라고 가정
조건 2 : 댓글 내용과 상관 없이 무작위로 추첨하되 중복 불가
조건 3 : random 모듈의 shuffle 과 sample 활용

# (출력 예제)
# -- 당첨자 발표 --
# 치킨 당첨자 : 1
# 커피 당첨자 : [2,3,4]
# -- 축하합니다 --

# (활용 예제)
from random import *
list = {1,2,3,4,5}
print(list)
shuffle(list)
print(list)
print(sample(list,3))

 

# Quiz) 추첨 프로그램 작성
from random import *
import random

N = int(input())
L = []

for i in range(N+1):
    if i > 0:
        L.append(i)
        i += 1

shuffle(L)
print("-- 당첨자 발표 --")
print("치킨 당첨자 :", random.choice(L))
print("커피 당첨자 :", sample(L, 3))
print("-- 축하합니다 --")

수를 입력하면 1부터 해당 수까지의 숫자를 조건에 맞게 추첨해준다.

for문에서 N에 1을 더한 이유는 0이 아니라 1부터 추첨되도록 반복문을 돌렸기 때문이다.

1을 더하지 않으면 0부터 N-1까지의 수가 출력된다.

print(L) 해보면 [1, 2, 3, 4 ... N] 으로 출력되는 것을 확인할 수 있다.

 

 

참고

https://enfanthoon.tistory.com/108

 

[Python] 리스트에서 랜덤으로 추출하기

리스트에서 랜덤 추출하기 파이썬에서 리스트 내의 요소를 랜덤으로 추출하는 것에는 세가지 방법이 있습니다. 우선, 세 가지 다 random 모듈을 import 해주어야 합니다. # 공통 import random 리스트 내

enfanthoon.tistory.com

https://dojang.io/mod/page/view.php?id=2293 

 

파이썬 코딩 도장: 23.3 반복문으로 리스트 만들기

이번에는 for 반복문과 append를 활용하여 리스트를 만드는 방법을 알아보겠습니다. 23.3.1  for 반복문으로 1차원 리스트 만들기 먼저 요소 10개가 일렬로 늘어서 있는 1차원 리스트부터 만들어보겠

dojang.io