hwiderpy   1주 전

여기서 런타임 에러가 뜨는데 왜 그런건가요??

csiday   1주 전

10 5

1 10 4 9 2 3 8 5 7 6


입력은 이렇게 총 2번이 들어오게 됩니다.

그런데 지금 소스 코드 짜놓은 걸 보면 for 문 안에 num3 가 들어있어서 인풋도 여러번 받을 뿐만 아니라

2번째 입력의 숫자들이 str 타입으로 들어오는데 이걸 전부다 int 화 하지 못해서 에러가 발생하는 듯 합니다

hwiderpy   1주 전

다른 코드 보니 다른 코드들도 for문으로 여러줄로 계속 입력받는것 같은데...ㅠㅠ

num3 = int(num3) 이 부분에서 int화 되는거 아닌가요??

csiday   1주 전

num3 = input() 이 부분이 우선은 str 타입으로 입력을 받게 됩니다.

'1 10 4 9 2 3 8 5 7 6' 이런 식으로 현재 문자열 형태로 입력받아져 있는 상태라서

자세하게 확인을 원하신다면 print(type(num3)) 으로 나중에 확인해보시길 바랍니다.


int 형변환을 원한다면

num3 = input().split() 을 통해 

num3 = ['1', '10', '4', '9', '2', '3', '8', '5', '7', '6'] 이렇게 리스트 형태에서

for 문을 통해 각각의 배열 요소들을 int 형변환을 하시거나

map() 을 사용하시면 됩니다


map() 자체는 python.org에서도 권고하고 있지 않으므로 for를 추천해드립니다

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