일단 코드가 길다는 점 죄송합니다.
흔히 아시는 '책장넘기기(책장을 한 번 넘겨서 나온 페이지의 각 숫자를 더하는 게임)' 의 코드입니다. 여기에 추가로 세 사람이 돌아가며 책을 넘기고, 가장 높은 숫자가 나온 사람이 1점을 가져가서 총 10점을 얻는 사람이 승자이고, 게임이 끝나는 코드를 작성할려고 합니다.
그런데 아래의 코드를 실행해 보았더니 while문 다음으로는 출력이 되지 않더군요. error메세지는 뜨지도 않습니다. (while문 전까지만 출력이 됩니다.)
제가 뭘 잘못 입력한건가요 ??
import random
def a_book (n):
answer_a = 0
while n>0 :
answer_a += n%10
n//=10
return answer_a
ap = random.randrange(100, 999) # @p = @의 랜덤 page
print(f"a가 펼친 페이지는 {ap}")
print(f"a의 결과는 {a_book(ap)}")
def b_book (n):
answer_b=0
while n>0 :
answer_b += n%10
n//=10
return answer_b
bp = random.randrange(100, 999)
print(f"b가 펼친 페이지는 {bp}")
print(f"b의 결과는 {b_book(bp)}")
def c_book (n):
answer_c =0
while n>0 :
answer_c += n%10
n//=10
return answer_c
cp = random.randrange(100, 999)
print(f"c가 펼친 페이지는 {cp}")
print(f"c의 결과는 {c_book(cp)}")
a_win, b_win, c_win = 0,0,0
while a_win == 10 or b_win == 10 or c_win == 10:
if a_book(ap) > b_book(bp) and a_book(ap) > c_book(cp):
a_win += 1
print(f"a의 점수: {a_win} , b의 점수: {b_win}, c의 점수: {c_win}")
elif b_book(bp) > a_book(ap) and b_book(bp) > c_book(cp):
b_win += 1
print(f"a의 점수: {a_win} , b의 점수: {b_win}, c의 점수: {c_win}")
elif c_book(cp) > a_book(ap) and c_book(cp) > b_book(bp):
c_win += 1
print(f"a의 점수: {a_win} , b의 점수: {b_win}, c의 점수: {c_win}")
else:
print("무효!")