영상
문제
'''
[경마]
horse_race리스트는 경마 게임을 표현한 것이다.
숫자 1~5는 말 번호를 뜻한다.
한 번에 말들은 2~5칸을 랜덤으로 이동한다.
모든 말이 도착할 때까지 말의 이동 경로를 출력하시오.
rank리스트에 등수를 저장하시오.
[예시]
주사위 : [2,4,2,1,3] 이나왔다고하면, 아래와 같이 된다.
[0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
'''
horse_race = [
[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
]
rank = [0,0,0,0,0]
position = [
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
]
total = [0, 0, 0, 0, 0]
Python
복사
해설
'''
[경마]
horse_race리스트는 경마 게임을 표현한 것이다.
숫자 1~5는 말 번호를 뜻한다.
한 번에 말들은 2~5칸을 랜덤으로 이동한다.
모든 말이 도착할 때까지 말의 이동 경로를 출력하시오.
rank리스트에 등수를 저장하시오.
[예시]
주사위 : [2,4,2,1,3] 이나왔다고하면, 아래와 같이 된다.
[0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
'''
import random
horse_race = [
[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
]
rank = [0,0,0,0,0]
position = [
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
]
total = [0, 0, 0, 0, 0]
count = 1
for i in range(20):
for j in range(5):
if total[j] == 19:
continue
position[j][i] = random.randint(2, 5)
total[j] += position[j][i]
if total[j] >= 19:
total[j] = 19
rank[j] = count
count += 1
for i in range(len(position)):
for j in range(len(position[i])):
print(position[i][j], end=" ")
print()
print()
print(total)
print(rank)
print("---------------------------------------")
view = [
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
]
view_total = [0, 0, 0, 0, 0]
j = 0
while j < len(view[0]):
for i in range(len(horse_race)):
if view_total[i] >= 19:
view_total[i] = 19
else:
view_total[i] += position[i][j]
if view_total[i] >= 19:
view_total[i] = 19
# 말 위치 표기
for i in range(len(horse_race)):
view[i][view_total[i]] = 1
# 화면 출력
print(view_total)
for i in range(len(view)):
print(view[i])
print()
# 말 위치 초기화
for i in range(len(horse_race)):
view[i][view_total[i]] = 0
j += 1
Python
복사