인프런 커뮤니티 질문&답변

gahee0743님의 프로필 이미지
gahee0743

작성한 질문수

파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

문제를 풀며 가장 자연스럽게 익숙해지는 파이썬 기본: 함수 활용

70번 문제 질문드립니다.

작성

·

174

0

안녕하세요. 

70번 문제를 풀다가 궁금한 점이 있어서요. 

def print_string(string, digit):

    data = list()

    for index in range(digit):

        data.append(string)

    return data

    

여기서는 digit이 3이라고 했을 때 그냥 그대로 index를 출력하면 0,1,2가 출력됩니다. fun이 3번 반복될 수 있는 건, 0,1,2 문자열이 3개이기 때문일까요? 

digit = input()

for index in range(int(digit)):

    print (index)

비슷하게 해서 이렇게 코드를 출력했을 때 반복문 range안에 int를 추가하지 않으면 오류가 납니다. 이 역시 70번 문제에서는 digit이 숫자 3을 그대로 인식한 것이 아니라 0,1,2 이렇게 세 가지 문자가 있기 때문에 출력되었기 때문이라고 이해하면 되는 걸까요? 

감사합니다! 

답변 1

0

사실 range 함수는 정수 타입의 데이터를 인자로 받아서, 0 부터 정수 - 1 까지 리스트를 만들어 주는 함수입니다.

for index in 리스트: 를 쓰면, 리스트만큼 반복을 해요. 그래서 이 두가지가 합쳐져서, range 가 만들어주는 리스트 갯수만큼 반복을 하게 되고, 0 부터 정수 - 1 까지 index 에 넘겨지게 되는 것이예요.

그래서 두번째 질문도 마찬가지로 range 에는 정수 타입의 데이터를 인자로 받아야 해서, input() 으로 넘겨받은 변수는 문자열 변수이기 때문에, 이를 정수 타입으로 int() 함수를 써서 변경해준 것입니다.

감사합니다.

gahee0743님의 프로필 이미지
gahee0743

작성한 질문수

질문하기