지난주에는 정말 아예 처음인 수업을 듣느라 따라가기 벅차고 계속 공부해도 내것이 안되는 것 같아서 마음이 많이
힘들었는데! 마음을 좀 바꿔보았다. 처음이라 모르는 것은 당연한 거고 '그 날 배운 것은 그 날 하나도 안놓치고 내것으로 다 만들어야지'라고 생각했던 마음을 '우선 최대한 내것으로 만들고 너무 이해가 안가는거는 질문을 하고 질문을 해도 내것이 안된다면 잠시 미뤄두고 이런 것이 있구나' 정도로만 생각하기! + 하루에 쉬는 시간 30분 - 1시간은 갖기!
이렇게 마음을 조금 잡고나니 웬걸 이번주에는 수업이 너무 잘 들렸다! 지난주에 배웠던 것들을 새벽까지 공부하며 복습했던 것이 있었기에 이번주 수업은 조금 수월했었다. 지난주에 그렇게 이해가 안가던 것들이 이번주에 새로운 수업을 배우며 반복하여 실습했더니 자연스럽게 이해가가고 하루하루 복습할때 저번주에는 막혔던 것이 많았는데 이번주에는 코드를 보면 읽히기 시작했다ㅎㅎ 부트캠프 친구들도 드디어 내가 텐션이 다시 돌아왔다고 웃기도 하고 질문하는 정도가 되게 깊이 있어졌다고, 그리고 이해하는게 확실히 달라졌다며 칭찬도 엄청 해줬다 ㅎㅎ
비대면 수업의 효과를 톡톡히 보고 있다! 어려운 건 강사님, 옆친구들한테 마음껏 물어볼 수도 있고, 배우는 사람들이 어려워하면 강사님이 속도를 천천히 맞춰가주셔서 이해할 수 있도록 도와주신다. 나처럼 처음인 사람들에게는 수업 중간 중간 괜찮냐고 물어봐주시기도 하고 코드를 어떻게 짜고 있는지 봐주시기도 한다.
새로운 마음가짐으로 한 주를 즐겁게 지내고, 당일 수업복습도 너무 잘돼서 지난주에는 주말에 쉴 시간도 없이 복습하며 공부했었는데, 이번주에는 주말에 조금 여유가 생겼다! 이번주에 배웠던 것을 잠깐 복습하고 나가서 맛있는 것도 먹고 등산도 하고, 집에서 쉬다가 '오늘은 로또 추첨을 하는 토요일인데 코딩으로 간단하게 로또좀 만들어 볼까?'
라고 생각하며 한번 만들어 보았다!
<코드 설명>
1. import random : 로또번호를 뽑을 때 무작위로 뽑아야 하기 때문에 랜덤함수를 사용하기 위해 사용했다.
2. Lotto = [ ] : while과 if구문을 통해 출력된 값을 리스트에 넣기 위해 만들었다.
3. n = 1 : 전에도 말했듯 while 을 사용할때는 멈출 수 있는 조건을 주어야 한다. 그 조건을 만들기 위해 사용했다.
4. while n < 7 : 로또 번호는 6개가 사용되기 때문에 사용했다.
5. L_num = random.randint(1,45) : 랜덤 함수를 통해 1~45사이의 숫자가 무작위로 뽑힐 수 있도록 만들고 아래에서
사용할 수 있도록 변수로 만들었다.
6. if L_num not in Lotto : 위에 만든 로또 리스트안에 무작위로 뽑힌 숫자가 들어갈텐데 중복되는 숫자가 없어야 하기
때문에 not in으로 조건을 주었다.
7. Lotto.append(L_num) : 중복없이 위에서 뽑힌 숫자가 Lotto 리스트안에 추가될 수 있도록 함수 append를 사용했다.
8. n += 1 : 이과정을 마치면 n에 +1씩 되어 6번이 돌 수 있도록 했다.
9. else pass : randint를 통해 숫자가 나왔을때 혹시라도 Lotto 리스트안에 있는 숫자일 경우는 pass를 만나 다시 위에
if구문으로 들어갈 수 있도록 만들어 주었다.
10. Lotto.sort() : 리스트안에 모인 숫자가 오름차순으로 나올 수 있도록 정렬해주었다.
11. print() : 원하는 문장으로 로또가 출력될 수 있도록 만들어 주었다.
<코드를 만들면서 생겼던 오류>
위에 while과 if를 만들때도 원하는대로 되지않아서 진짜 코드를 다시만들고 다시만들고 해서 만들어 냈는데, 마지막에
결과가 None이라고 나와서 너무너무 당황했다. 될 것 같은데 왜 자꾸 안돼지 뭐지! 라고 하며 이리저리 바꿔보다가
Lotto.sort()를 프린트구문 바깥에 썼더니 원하는대로 나오는 것을 보았다. 그래서 다른 방법으로 위에서 LOTTO라는 새로운 변수에 Lotto.sort()를 넣어보려 했더니
이것도 안돼고!!!!! 이런 오류를 반복하다가 보니 'sort를 지금 잘못사용하고 있구나'라고 생각되어서 우연히 바깥으로
빼보았는데
이렇게 잘 완성된 모습을 볼 수 있었다. 근데 도무지 왜 오류가 났는지 알 수가 없어서 부트캠프에서 친해진 똑똑이
컴공동생한테 주말이지만 민폐같지만 너무 궁금해서 물어보았다. ㅎㅎ
*sort자체의 의미는 정렬의 의미지 실행값이 없습니다.*
라고 말해주며 길게 설명해주었는데 처음에는 그말이 이해가 되지 않아서 그러니까 자체에는 사용할 수가 없으니 Lotto라는 리스트 뒤에 붙였으니 되야 되는거아닌가? 라고 되 물었는데 다시 한번 설명해주는 것에 깨달음을 얻었다 ㅎㅎ
sort는 메소드여서 기능을 하는 것이지 반환되어 우리에게 보여지는 것은 아니었던 것이다!!!
쉽게 말해 sort는 숫자를 순서대로 해주는 기능인데 기능자체를 자꾸 print구문에 넣다보니 출력해 줄 수 있는게 없었던 것이다. 기능을 하며 Lotto번호를 순서대로 계속 맞춰주고는 있었지만 print구문속으로 들어가버리니 기능하는 모습을 출력할 수 없었던 것이었다.
함수를 만들어 쓰다보면 return에 값을 만들어 놓지 않으면 안에서 함수가 작용하고 있지만 우리눈에 출력되는 것이 없는 것과 비슷하다고 보면 될 것 같다!
똑똑이 컴공동생 너무 고맙고! 내가 내 힘으로 만든 코드라서 너무너무 뿌듯하다 ㅎㅎㅎㅎ
점점 재밌어지네 코딩 ㅎㅎㅎ
'My_Story' 카테고리의 다른 글
플레이데이터 빅데이터 부트캠프 일주일 찐 후기 (2) | 2022.07.09 |
---|---|
긍정파워_오히려 좋아:-) 첫장! <플레이데이터 빅데이터 부트캠프> (0) | 2022.07.03 |