파이썬 프로그래밍 질문 드립니다.
본문
이 코드가 전체적으로 이해가 가지 않습니다.
두번째 줄에 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의 결과
★★★★★★★★★
★★★★
★★★★★★
누군가에게 설명할 수 있을 정도로 완벽하게 이해가 됐어요 정말 감사합니다ㅠㅠㅠㅠㅠㅠㅠ