프로그래밍

파이썬 while문 전체를 반복시키려는데 (짜놓은 코드 있음)

뭐가 잘못됐는지 잘 안 된다.. 어케하는지 알려주실 분?

 

랜덤 숫자가 생성되면 사용자가 맞추고

다시 랜덤숫자 맞추는 거 몇 번 반복해야 됨

 

제한 횟수 이상 시도해도 못 맞추면 랜덤숫자 while문 탈출해서 for로 가고 다시 그 랜덤숫자 맞추는 while문으로 넘어가는 건 되거든?

근데 정답을 맞추면

 

정-답!

정-답!

정-답!

 

이러고 전체 while문 마지막만 반복하고 끝남

지금은 다른 거 추가해서 라운드2라는 말만 반복 함

===========

 

import random

print("컴퓨터와 함께 하는 랜덤 숫자맞추기 게임입니다~")

tryN=eval(input("게임은 총 몇 번 하실 건가요?"))

print("숫자는 1~15 중에서 생성되고, 한 게임당 맞출 수 있는 기회는 총 4번 주어집니다!")

cnt=0
cnt2=0
W=0
L=0

CN=random.randint(1,15)#랜덤 숫자 범위 지정, 랜덤 수 생성

UN=0

#입력받고 비교
#만약 ~이상/이하이면?
#너무 커/작아
#맞출 때까지 4번 반복
#아래 반복분 tryN만큼 반복

for num in range(0,tryN,1):#게임 반복 횟수
    print("라운드{}".format(cnt2+1))
    while(CN!=UN):
        UN=eval(input("제가 생각한 숫자는 뭘까요?"))
        if UN > CN+4:
            print("제 생각보다 너무 큰 숫자입니다")
        elif UN < CN-4:
            print("제 생각보다 너무 작은 숫자입니다")
        elif UN > CN:
            print("그보다 작습니다")
        elif UN < CN:
            print("그보다 큽니다")
        else:
            W=W+1
            cnt2=cnt2+1
            print("정-답!")
            continue

        cnt=cnt+1

        if cnt%4 == 0:
            L=L+1
            cnt2=cnt2+1
            print("당신은 제한 횟수 내에 맞추지 못했습니다")
            break        

#한 게임당 도전 횟수 제한
#4 이하만에 맞추면 성공
#4 이상이면 실패

#n번 반복 후 성공 횟수와 실패한 횟수 출력

print("사용자의 성공 횟수는 : {}, 실패 횟수는 : {}입니다.".format(W,L))

if W > L:
   print("최종 승자는 사용자!")
elif W == L:
   print("최종 승자는 없습니다! 무승부!")
else:
   print("최종 승자는 컴퓨터!")

 

 

 

문과가 뭔 생각으로 3학점 마저 채우겠다고 이걸 교양으로 신청했나 싶다ㅠㅠ

중간 대체과제로 프로그래밍도 뭐 하나 해서 제출해야하는데 막막함..

9개의 댓글

2019.05.23

ㅋㅋㅋㅋㅋ 이걸 논리 문제라고 해야되나 문법 문제라고 해야 되나 무튼 답은 while(CN!=UN): 여기서 CN이 UN이랑 같을때 처리를 안했어

1
@아기참치

아 그랬구나 뭔가 나사하나 빠진 것 같더라니... ㄱㅅㄱㅅ

0
2019.05.23

While문에 해당 조건이 참일때 너가 만든 로직이 어떻게 되는지 점검 해봥

1
@아기참치

ㅇㅋ 그거 중심으로 봐 볼게 고마워!

0
2019.05.23

import random

print("컴퓨터와 함께 하는 랜덤 숫자맞추기 게임입니다~")

tryN=eval(input("게임은 총 몇 번 하실 건가요?"))

print("숫자는 1~15 중에서 생성되고, 한 게임당 맞출 수 있는 기회는 총 4번 주어집니다!")

cnt=0

cnt2=0

W=0

L=0

CN=random.randint(1,15)#랜덤 숫자 범위 지정, 랜덤 수 생성

UN=0

#입력받고 비교

#만약 ~이상/이하이면?

#너무 커/작아

#맞출 때까지 4번 반복

#아래 반복분 tryN만큼 반복

for num in range(0,tryN,1):##게임 반복 횟수

print("라운드{}".format(cnt2 + 1))

while(tryN!=cnt2):

UN=eval(input("제가 생각한 숫자는 뭘까요?"))

if UN > CN+4:

print("제 생각보다 너무 큰 숫자입니다")

elif UN < CN-4:

print("제 생각보다 너무 작은 숫자입니다")

elif UN > CN:

print("그보다 작습니다")

elif UN < CN:

print("그보다 큽니다")

elif UN == CN:

W+=1

cnt2+=1

print("정-답!")

cnt=0

break

cnt=cnt+1

if cnt%4 == 0:

L+=1

cnt2+=1

print("당신은 제한 횟수 내에 맞추지 못했습니다")

cnt=0

continue

 

 

#한 게임당 도전 횟수 제한

#4 이하만에 맞추면 성공

#4 이상이면 실패

#n번 반복 후 성공 횟수와 실패한 횟수 출력

print("사용자의 성공 횟수는 : {}, 실패 횟수는 : {}입니다.".format(W,L))

if W > L:

print("최종 승자는 사용자!")

elif W == L:

print("최종 승자는 없습니다! 무승부!")

else:

print("최종 승자는 컴퓨터!")

 

1
2019.05.23
@ayahyahyah

최대한 니가 한 틀 맞춰서 고쳤고 while 문 문제임 cnt1이 뭔지 cnt2가 뭔지 그런거 파악한다고 개오래걸렸네 저런거 할때 주석으로 표시해두셈 

1
@ayahyahyah

와... 진짜 정말 고맙다

앞으로 꼭 주석 잘 달아놓겠음 직접 파악하게 만들어서 ㅈㅅㅈㅅ

0
2019.05.23
@스리랑카잡화점주인장마흐카뚤룹

지금 문제점이 while 문 비교. cnt2 값 변하는거 라운드끝날때마다 초기화해야하는거 안되었고 break와 continue 구별 확실히 해야함

1
@ayahyahyah

크흑.. 감사합니다 센세

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180445 [컴퓨터] 컴맹 노트북에 ssd추가 장착 질문점 2 바퀴 0 5 시간 전 61
180444 [컴퓨터] 윈도우 설치 후에 쓰던 디스크를 추가설치하려는데 14 드웨인토마스 0 10 시간 전 125
180443 [컴퓨터] 램 16기가인데 왜이러는지 모르겠어요 12 파워불곰이 0 10 시간 전 295
180442 [프로그래밍] 현업개발자분들 주말엔 편하게 쉴수있나요? 8 키로 0 11 시간 전 444
180441 [컴퓨터] 컴퓨터 왔다 8 사촌간부랄빨기 0 11 시간 전 193
180440 [잡담] 최종 데스크테리어 완성! 6 냐하하하하 3 12 시간 전 206
180439 [컴퓨터] 이 케이스보다 더 예술적인 케이스 본 적이 없어 3 닉네임변경후13일차 0 13 시간 전 180
180438 [잡담] rx6600 질문 3 전업주부하고싶다 0 13 시간 전 60
180437 [컴퓨터] 공랭 1티어 케이스 찾음. 4 마두라지 0 13 시간 전 179
180436 [컴퓨터] 윈도우11 요즘 어떰? 19 9700k 0 14 시간 전 281
180435 [컴퓨터] 윈도우11에서, 꼭 로그인을 해야 시작프로그램이 실행됨?? 1 갤럭시울리 0 14 시간 전 90
180434 [컴퓨터] 레이저 프린터 저렴하고 성능좋은 거 있음 알려주세요. 3 발로그림 0 15 시간 전 49
180433 [모바일] 갤a35 사려고 하는데요 1 소리벗고빤쓰질러 0 15 시간 전 67
180432 [컴퓨터] 10400f에 rx6800 가격 ladin 0 16 시간 전 73
180431 [모바일] 아이폰15 프맥에서 갤24 울트라로 18 1등 0 17 시간 전 204
180430 [컴퓨터] 중고로 팔려고하는데 도움 부탁드립니다 4 뀨엉 0 18 시간 전 148
180429 [컴퓨터] 님드라 앱코 케이스 쓰지마세요 11 블끼얏호우 0 19 시간 전 398
180428 [컴퓨터] 네트워크 공유가 안돼.. 7 WE3 0 19 시간 전 81
180427 [견적] 4070티슈 살바에 4080슈퍼ㄱㄱ? 11 r71999 0 21 시간 전 282
180426 [컴퓨터] 그래픽 카드구매 질문 5 라티오스 0 21 시간 전 91