당신의 학교에서는 파이썬 코딩 대회를 주최합니다.
참석률을 높이기 위해 댓글 이벤트를 진행하기로 하였습니다.
댓글 작성자들 중에 추첨을 통해 1명은 치킨, 3명은 커피 쿠폰을 받게 됩니다.
추첨 프로그램을 작성하시오.
조건1 : 편의상 댓글은 20명이 작성하였고 아이디는 1~20이라고 가정
조건2 : 댓글 내용과 상관 없이 무작위로 추첨하되 중복은 불가
조건3 : random 모듈의 shuffle 과 sample 을 활용
(출력 예제)
-- 당첨자 발표 --
치킨 당첨자 : 1
커피 당첨자 : [2, 3, 4]
-- 축하합니다 --
from random import *
users = range(1, 21)
users = list(users)
print(users)
shuffle(users)
print(users)
winners = sample(users, 4)
print("-- 당첨자 발표 --")
print("치킨 당첨자: {0}".format(winners[0]))
print("커피 당첨자: {0}".format(winners[1:]))
print("-- 축하합니다 --")
-> -- 당첨자 발표 --
치킨 당첨자 : 11
커피 당첨자 : [20, 2, 4]
-- 축하합니다 --
50명의 승객과 매칭 기회가 있을 때, 총 탑승 승객 수를 구하는 프로그램을 작성하시오.
조건1 : 승객별 운행 소요 시간은 5분 ~ 50분 사이의 난수로 정해집니다.
조건2 : 당신은 소요 시간 5분 ~ 15분 사이의 승객만 매칭해야 합니다.
(출력문 예제)
[O] 1번째 손님 (소요시간 : 15분)
[ ] 2번째 손님 (소요시간 : 50분)
...
[ ] 50번째 손님 (소요시간 : 16분)
총 탑승 승객 : 2 분
from random import *
cnt = 0 # 총 탑승 승객 수
for guest in range(1, 51):
time = randrange(5, 51)
if time >= 5 and time <= 15:
print("[o] {0}번째 손님 (소요시간 : {1}분)".format(guest, time))
cnt += 1
else:
print("[ ] {0}번째 손님 (소요시간 : {1}분)".format(guest, time))
print("총 탑승 승객 : {0}분".format(cnt))
표준 체중을 구하는 프로그램을 작성하시오
(성별에 따른 공식)
남자 : 키(m) 키(m) 22
여자 : 키(m) 키(m) 21
조건1 : 표준 체중은 별도의 함수 내에서 계산
함수명 : std_weight
전달값 : 키(height), 성별(gender)
조건2 : 표준 체중은 소수점 둘째자리까지 표시
(출력 예제)
키 175cm 남자의 표준 체중은 67.38kg 입니다.
def std_weight(height, gender):
if gender == "남자" :
return height * height * 22
else:
return height * height * 21
height = 175
gender = "남자"
weight = round(std_weight(height / 100, gender), 2)
print("키 {0}cm {1}의 표준 체중은 {2}kg 입니다."\
.format(height, gender, weight))
-> 키 175cm 남자의 표준 체중은 67.38kg 입니다.
1주차부터 50주차까지의 보고서 파일을 만드는 프로그램을 작성하시오.
조건 : 파일명은 '1주차.txt', '2주차.txt', ... 와 같이 만듭니다.
for i in range(1, 51):
with open(str(i) + "주차.txt", "w", encoding="utf8") as week_file:
week_file.write("- {0} 주차 주간보고 -".format(i))
week_file.write("\n부서 : ")
week_file.write("\n이름 : ")
week_file.write("\n업무 요약 : ")
-> 1주차.txt, ... , 50주차.txt 생김