본문 바로가기

TIL

[TIL 2024. 02. 27]

오늘 한 일

  • 개인과제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) 

  1. 문제 상황: 승무패 출력을 위해 database의 열로 직접 추가하는 것은 일반적이지 않음. 일단 database에 직접 열로도 추가해봤지만, 그러면 누적합을 구현해야 하는데_코드 작성이 너무 어려움. 그래서 승무패를 구하는 record()함수를 새로 선언했지만 원하는 출력이 나오지 않음.
  2. 문제 원인: 결국 원인은 home 함수에 승무패가 연결되어 있지 않은 것. 라우팅_record()자체에서 index.html을 렌더링해주고, win_cnt, draw_cnt, lost_cnt를 같이 넘겨줘도 문제는 해결되지 않음.
  3. 문제 해결: home함수 내부에 record()함수의 일부 코드를 옮겨줌. 그러자 index.html로 잘 렌더링되고, html상에서 승, 무, 패가 누적으로 잘 출력됨(_for문 사용) //

문제 원인_(코드 수정 전)
문제 해결_(코드 수정 후)

 

 

3. 개인과제1 (updown.py) 

  1. 문제 상황: 최고시도 횟수 구현에 어려움이 있음. count = max(count)로 하니, 'TypeError: 'int' object is not iterable'이라는 문구와 함께 오류가 발생함.
  2. 문제 원인: int(정수, integer)는 iterable(=반복 가능)하지 않아서 오류가 발생함. max를 사용하고 싶으면 append를 사용해서 리스트를 만들어 주면 됨. 또 다른 방법으로는 best_point라는 변수를 별도로 만들어서 활용하는 것이 있음.
  3. 문제 해결: //

'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