동아리, 스터디, 교육/멋쟁이 사자처럼

[멋사 정기 세션] 220501 PYTHON QUIZ

pxatd 2022. 5. 1. 14:58
728x90

QUIZ 1

여러분들은 프로젝트를 위해 구글 설문조사를 시행했습니다. 수정이들의 참여를 높이기 위해 치킨 기프티콘 1개, 커피 기프티콘 3개를 제공하려고 합니다. 다음 조건에 맞게 파이썬 코딩을 해봅시다.
-총 설문조사 참여자는 20명 입니다. 이들의 아이디는 1~20으로 가정합니다.
-무작위 추첨이며 중복은 불가합니다.

내 답

import random

id = []
for i in range(20):
  id.append(i+1)

random.shuffle(id)

chick = random.choice(id)

if chick in id:
  id.remove(chick)

coffee = random.sample(id, 3)

print("--당첨자 발표--")
print("치킨 기프티콘 :", chick)
print("커피 기프티콘 :", coffee)
print("--축하드립니다--")

 

출력 결과

--당첨자 발표--
치킨 기프티콘 : 9
커피 기프티콘 : [11, 7, 1]
--축하드립니다--

중복이 불가하다는 점에서 for반복문을 이용해 리스트에서 해당 값을 빼는 형식으로 코딩했는데 더 쉬운 방법이 있을 거 같다.. 더 생각해봐야지

+) 운영진이 설명해준 해설 코드를 보니까 셔플로 섞어서 list 앞에서 부터 4개를 슬라이스 형식으로 잘라 출력했더라 나도 그 방법 생각하다가 1,3개로 슬라이싱할 때 중복 없이 출력이 어려울 거 같아서 구현 못 했었는데 그냥 네 개를 뽑고 순서대로 출력하면 됐구나 바보인가..


QUIZ 2

당신은 LIKELION 서비스를 이용하는 택시기사입니다. 50명의 승객과 매칭 기회가 있을 때 총 탑승객 수를 구하는 프로그램을 작성하시오
-승객별 운행 소요 시간은 5~50분 사이의 난수로 정해집니다
-당신은 5분~15분 사이의 승객만 매칭해야 합니다

내 답

import random 

a = 0

for i in range(50):
    taxiTime = random.randint(5,50) #5이상 50이하

    if taxiTime<16:
      print("[0]",i+1,"번째 손님 (소요시간 : ",taxiTime,"분)")
      a = a + 1
    else:
      print("[ ]",i+1,"번째 손님 (소요시간 : ",taxiTime,"분)")

print("총 탑승 승객 :",a,"명")

 

출력 결과

[ ] 1 번째 손님 (소요시간 :  32 분)
[ ] 2 번째 손님 (소요시간 :  21 분)
[0] 3 번째 손님 (소요시간 :  13 분)
[ ] 4 번째 손님 (소요시간 :  37 분)
[ ] 5 번째 손님 (소요시간 :  17 분)
[0] 6 번째 손님 (소요시간 :  11 분)
[0] 7 번째 손님 (소요시간 :  9 분)
[0] 8 번째 손님 (소요시간 :  8 분)
[0] 9 번째 손님 (소요시간 :  11 분)
[ ] 10 번째 손님 (소요시간 :  44 분)
[0] 11 번째 손님 (소요시간 :  8 분)
[ ] 12 번째 손님 (소요시간 :  16 분)
[ ] 13 번째 손님 (소요시간 :  39 분)
[0] 14 번째 손님 (소요시간 :  7 분)
[ ] 15 번째 손님 (소요시간 :  49 분)
[ ] 16 번째 손님 (소요시간 :  31 분)
[ ] 17 번째 손님 (소요시간 :  39 분)
[ ] 18 번째 손님 (소요시간 :  37 분)
[ ] 19 번째 손님 (소요시간 :  20 분)
[ ] 20 번째 손님 (소요시간 :  32 분)
[0] 21 번째 손님 (소요시간 :  6 분)
[ ] 22 번째 손님 (소요시간 :  23 분)
[ ] 23 번째 손님 (소요시간 :  23 분)
[ ] 24 번째 손님 (소요시간 :  22 분)
[ ] 25 번째 손님 (소요시간 :  28 분)
[ ] 26 번째 손님 (소요시간 :  50 분)
[ ] 27 번째 손님 (소요시간 :  34 분)
[ ] 28 번째 손님 (소요시간 :  27 분)
[ ] 29 번째 손님 (소요시간 :  33 분)
[ ] 30 번째 손님 (소요시간 :  41 분)
[ ] 31 번째 손님 (소요시간 :  34 분)
[ ] 32 번째 손님 (소요시간 :  46 분)
[ ] 33 번째 손님 (소요시간 :  23 분)
[ ] 34 번째 손님 (소요시간 :  16 분)
[ ] 35 번째 손님 (소요시간 :  17 분)
[0] 36 번째 손님 (소요시간 :  15 분)
[0] 37 번째 손님 (소요시간 :  10 분)
[ ] 38 번째 손님 (소요시간 :  47 분)
[ ] 39 번째 손님 (소요시간 :  49 분)
[ ] 40 번째 손님 (소요시간 :  36 분)
[0] 41 번째 손님 (소요시간 :  11 분)
[ ] 42 번째 손님 (소요시간 :  34 분)
[ ] 43 번째 손님 (소요시간 :  28 분)
[ ] 44 번째 손님 (소요시간 :  38 분)
[ ] 45 번째 손님 (소요시간 :  30 분)
[ ] 46 번째 손님 (소요시간 :  48 분)
[0] 47 번째 손님 (소요시간 :  8 분)
[ ] 48 번째 손님 (소요시간 :  31 분)
[ ] 49 번째 손님 (소요시간 :  42 분)
[ ] 50 번째 손님 (소요시간 :  37 분)
총 탑승 승객 : 12 명
728x90