오늘 한 일
- 개인과제4 승무패 기능 출력
- 개인과제1 최고시도 횟수
- 경원튜터님 미니세션
- TIL 작성
오늘의 리뷰
1. 미니세션
- while문에서의 코드 흐름
즉, while문 내에서는 break가 없는 한, 벗어날 수 없음. 따라서 위의 while문 내의 elif, else문의 조건이 만족되어 각자 아래의 코드가 실현되고 나면, 다시 9행으로 돌아감. 하지만 break가 있는 if문은 그 조건이 충족되어 코드가 실현되면 완전히 while문 자체를 탈출함.
- while문에서의 break, continue
- 함수(_순서,절차 지향)
- => 함수는 많으면 많을수록 좋다. component로써, 세분화된 기능들을 함수로 선언해놓으면 오류 수정에 유리함. 즉, 오류 발생시 해당 함수 부분만 고쳐주면 되기 때문. 정리하자면, 반복 가능, 오류 수정 용이
- 클래스(_객체 지향)
- => dir로 보면 list도 매직 메소드(cf. 언더바 더블)와 다른 자료형에서도 쓰이는 함수(ex. append()) 모두를 가지고 있음. type()을 print해보면 파이썬 각 자료형은 모두 'class'임. 즉, 파이썬도 객체 지향으로 개발된 프로그램임.
- => dir로 봤을 때_매직 메소드와 빌트인 함수의 차이: 매직 메소드는 class만을 위해 특별히 파이썬이리 미리 만들어 둔 것으로 특별한 메소드임. 반면 빌트인 함수는 다른 자료형 등에서도 쓰일 수 있음.
2. 개인과제4 (app.py)
- 문제 상황: 승무패 출력을 위해 database의 열로 직접 추가하는 것은 일반적이지 않음. 일단 database에 직접 열로도 추가해봤지만, 그러면 누적합을 구현해야 하는데_코드 작성이 너무 어려움. 그래서 승무패를 구하는 record()함수를 새로 선언했지만 원하는 출력이 나오지 않음.
- 문제 원인: 결국 원인은 home 함수에 승무패가 연결되어 있지 않은 것. 라우팅_record()자체에서 index.html을 렌더링해주고, win_cnt, draw_cnt, lost_cnt를 같이 넘겨줘도 문제는 해결되지 않음.
- 문제 해결: home함수 내부에 record()함수의 일부 코드를 옮겨줌. 그러자 index.html로 잘 렌더링되고, html상에서 승, 무, 패가 누적으로 잘 출력됨(_for문 사용) //
3. 개인과제1 (updown.py)
- 문제 상황: 최고시도 횟수 구현에 어려움이 있음. count = max(count)로 하니, 'TypeError: 'int' object is not iterable'이라는 문구와 함께 오류가 발생함.
- 문제 원인: int(정수, integer)는 iterable(=반복 가능)하지 않아서 오류가 발생함. max를 사용하고 싶으면 append를 사용해서 리스트를 만들어 주면 됨. 또 다른 방법으로는 best_point라는 변수를 별도로 만들어서 활용하는 것이 있음.
- 문제 해결: //
'TIL' 카테고리의 다른 글
[TIL 2024. 02. 29] (0) | 2024.02.29 |
---|---|
[TIL 2024. 02. 28] (0) | 2024.02.28 |
[TIL 2024. 02. 26] (0) | 2024.02.27 |
[TIL 2024. 02. 23] (0) | 2024.02.23 |
[TIL 2024. 02. 22] (0) | 2024.02.23 |