SIR
KCP 창업 지원, 수수료 국내최저 2.9% 제공 이벤트!

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

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

QA

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

본문

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의 결과

★★★★★★★★★

★★★★

★★★★★★

 

주소복사
채택됨
답변의 댓글

파이썬왕왕초보님의 답변

누군가에게 설명할 수 있을 정도로 완벽하게 이해가 됐어요
정말 감사합니다ㅠㅠㅠㅠㅠㅠㅠ
주소복사
답변의 댓글
답변을 작성하시기 전에 로그인 해주세요.
전체 93,403 | RSS
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

(주)에스아이알소프트 (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT