qkrwlsdyd95   3년 전

이거 계속 인풋만 받는데 뭐가 문제일까요...?

shg9411   3년 전

계속 인풋만 받는게 아니고, 무한 루프가 도는 것 같습니다.

그리고 파이썬 코드 작성하실 땐 indent 유의해주세요.

shg9411   3년 전

else문에서 N_1의 값은 0입니다.N_0 + 0 은 N_0 그대로이기에 무한루프에 빠지게 됩니다.

minkyu070602   3년 전

일단 처음에 N을 입력 받으실 때 int()를 빼시는 게 좋아요. 나중에 어짜피 str로 변환할거니까요. 

그리고 N이 2자리 수인것을 판별하고 싶으시면 N >= 10 이렇게 쓰거나 len(N) == 2 이렇게 쓰셔야 합니다. N이 10이면 두자리 수로 판별이 안되니까요.

본론으로 들어가서, 생각해보세요. 55를 입력하면,

    if N_1 > 10:

에서 N_1이 5+5 즉 10이기 때문에 이 조건문에 만족하지 않죠?

따라서 if N_1 >= 10:

으로 고치면 될겁니다 ^^

그리고 다음 반복을 할때 N은 50으로 바뀌어있겠죠?

그럼 N_0은 0*10 즉, 0이 되고, N_1은 0+5 즉 5가 됩니다.

그래서 N은 0+5 즉 5가 됩니다.

다음 반복문에서 N은 10보다 크지 않죠?

그럼 else문으로 들어갑니다.

N은 int(0) + int(5) 입니다. 답은 5죠? 우리는 05를 만들어야 되는데 말입니다 ㅎㅎ

이것만 고치시면 코드가 제대로 실행될겁니다.

추가: 제가 코드를 조금씩 고쳐보았는데, 계속 오류가 나네요.

        제 코드 올려드릴테니 참고해보세요.

        https://ideone.com/2vbjlw            

minkyu070602   3년 전

추가로 질문방에 코드를 올릴땐 주석을 꼭 달아주세요. 답변하는 사람도 시간이 남아돌아서 답변해주는게 아닙니다. 나를 위해 자신의 시간을 써가며 답변해주는데 주석 정도는 꼭 있어야겠죠?

댓글을 작성하려면 로그인해야 합니다.