파이썬 프로그래밍 질문 드립니다.

파이썬 프로그래밍 질문 드립니다.

QA

파이썬 프로그래밍 질문 드립니다.

답변 2

본문

2041499638_1603974633.4991.png

 

이 코드가 전체적으로 이해가 가지 않습니다.

두번째 줄에 numStr, ch, heartnum을 왜 " "로 지정하는지 사실 ch가 뭘 의미하는지도 잘 모르겠습니다.그리고 네번째 줄에서 if __name__=="__main__": 에서 갑자기 왜 main이 나오는지 모르겠습니다.

그리고 스무번째 줄에서 len이 의미하는 게 무엇인지도 알 수 있을까요?

 

모르는 것 투성이라서 정말 죄송합니다ㅠㅠㅠ

하지만 사람 하나 구제해주시는 마음으로 답변해주시면 진심으로 감사드리겠습니다.

 

이 질문에 댓글 쓰기 :

답변 2

저도 파이썬은 제대로 배운적이 없어 그냥 읽어만 보겠습니다.

 

먼저 위 프로그램을 직접 돌려보니 입력받은 숫자만큼 별기호를 찍어주는 프로그램이네요.

 

두번째 줄에 numStr, ch, heartNum 변수는 "" (비어있는 값)으로 선언만 해 준 것입니다.

아래에서 사용할 변수들을 미리 선언해 둔 것이네요.

 

ch 변수 같은 경우 "숫자를 여러 개 입력하세요:" 에서 입력 받은 숫자를 반복문을 돌면서 하나씩 끊어 주기 위한 변수로 활용되는거 같습니다. (ch = numStr[i])

여러 개 숫자를 예를들어 946 이라고 입력했다면, ch에는 아래 반복문을 돌며 0번째인 9, 1번째인 4, 2번째인 6 을 각각 입력받게 될 것입니다.

 

그리고 if __name__=="__main__" 이 부분은 https://dojang.io/mod/page/view.php?id=2448 이곳에 잘 설명되어 있네요.

__name__ 에는 현재 실행되는 모듈이 저장되는듯 보입니다.

실제로 if문 바로 아래에 print(__name__) 해서 찍어보면 "__main__" 이 들어있네요.

 

그리곡 마지막 20번 째줄 len 은 리스트에 들어 있는 원소의 개수(길이)를 가지고 오는 내장된 함수 입니다.

len("가나다") 라고하면 3이 찍힙니다. 리스트 "가나다"가 3개의 원소를 가지고 있다는 걸 나타내겠죠.

 

따라서 i 가 numStr의 원소개수 -1 보다 크게된다면 프로그램을 멈추게 될 것입니다.

 

일단 제가 이해한 바는 이렇네요.

 

즉 946의 결과

★★★★★★★★★

★★★★

★★★★★★

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 3,233
© SIRSOFT
현재 페이지 제일 처음으로