파이썬 카드 게임
조회수 855회
문제: 두 명의 친구 A와 B가 카드 뽑기 게임을 하려고 한다. A 부터 카드를 연속해서 뽑는다. 0을 뽑을 경우 A의 카드뽑기는 종료되고, B 카드를 뽑는다. 마찬가지로, 0을 뽑을경우 B의 카드뽑기는 종료되고 해당 라운드는 종료된다. 각 각의 턴에서 뽑은 카드의 총합이 큰 사람이 그 라운드를 이기며, 두 친구 중 2승을 먼저 하는 사람이 나올 경우 카드 뽑기 게임을 종료한다.
[입력 예시1]
1 --> A의 카드셋 뽑기
2
3
0
4 --> B의 카드셋 뽑기
5
6
0
0 --> A의 카드셋 뽑기
0 --> B의 카드셋 뽑기
1 --> A의 카드셋 뽑기
2
3
0
7 --> B의 카드셋 뽑기
8
6
0
[출력 예시1]
A : 0 win, 2 lose, 1 draw
B : 2 win, 0 lose, 1 draw
t1 = 0
t2 = 0
w1 = 0
w2 = 0
e1 = 0
e2 = 0
v = 0
while True:
while True:
a = int(input())
t1 = t1+ a
if a == 0:
break
while True:
b = int(input())
t2 = t2 + b
if b == 0:
break
if t1 == t2:
v = v+1
elif t1 > t2:
w1 = w1+1
e2 = e2+1
elif t1 < t2 :
w2 = w2 + 1
e1 = e1 + 1
if w1 == 2 or w2 == 2 :
break
print("A : %d win, %d lose, %d draw"%(w1,e1,v))
print("B : %d win, %d lose, %d draw"%(w2,e2,v))
이게 제가 짠 코드인데 입력예시 1의 출력이 제대로 안나옵니다. 중간에 끊내버려요. 라운드를 시작할때 0으로 시작하면
if a== 0 :
break
때문에 그냥 끝내는 것 같아요. 이 부분을 어떻게 수정해야하나요..ㅠ
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력