728x90
반응형
주사위 던지기 게임 프로그래밍
n명의 인원이 주사위 게임을 진행한다.
- 3개의 주사위를 던져 임의의 수를 입력받는다.
- 3개의 주사의 값이 3개 모두 동일할 경우 점수는 1000* 주사위 값
- 2개의 주사위 값이 동일할 경우 점수는 500*주사위 값
- 모두 주사위 값이 동일 하지 않을 경우 100* 주사위 값 (첫번째 주사위)
n명의 참여 인원의 점수를 모두 출력하고 그중 가장 높은 값을 출력하세요.
* 사용할 라이브러리 : random
* 사용할 메소드 : random.randrange
*사용할 내장함수 : max
* 자료형 : 변수 3개(정수형), 리스트 1개
import random
n = int(input('참가 인원수를 입력해주세요: ')) # 인원수 입력 받기. 정수로 변환
scores = [] # 최종 결과값 변수 선언
for i in range(n): # 인원수 만큼 반복
tmp = [] # 3개의 주사위 결과 저장용 변수 선언
for j in range(3): # 3개의 주사위 실행
tmp.append(random.randint(1, 6)) # random.randint()로 1부터 6까지 수를 임의 생성
score = 0 # 참사 인원을 점수 변수 선언 및 초기화
if tmp[0] == tmp[1] and tmp[1] == tmp[2]: # 3개의 주사위 값이 모두 값으면
score = tmp[0] * 1000
elif tmp[0] == tmp[1] and tmp[1] != tmp[2]: # 2개의 주사위 값이 같으면(첫번째, 두번째)
score = tmp[0] * 500 # 첫번째 값 * 5000
elif tmp[0] != tmp[1] and tmp[1] == tmp[2]: # 2개의 주사위 값이 같으면(두번째, 세번째)
score = tmp[1] * 500
elif tmp[0] != tmp[1] and tmp[0] == tmp[2]: # 2개의 주사위 값이 같으면(첫번째, 세번째)
score = tmp[1] * 500
else:
score = tmp[0] * 100 # 3개의 주사위가 모두 다르면 첫번째 값으로 계산
scores.append(score)
print(f"참가인원수 {n} 명이며 참가한 사람의 결과값은 {scores} 입니다.")
print('가장 큰 결과값은',max(scores))
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : 문자열 입력 받아 인덱스 값에 따른 IF문 처리 (0) | 2023.11.03 |
---|---|
[파이썬] 문제 : 리스트를 선언하고 첨자(인덱스)로 값 출력 (0) | 2023.11.03 |
[파이썬] 문제 : 대학교 리스트의 딕셔너리 요소 처리 (0) | 2023.11.02 |
[파이썬] 문제 : 연필과 펜의 구입 개수에 따른 계산 (0) | 2023.10.29 |
[파이썬] 문제 : 3개 시험점수 입력 받고 총점, 평균 계 (0) | 2023.10.29 |
댓글