본문 바로가기

TIL

(120)
TIL 040323 새 챕터 발제 장고를 처음 배우기 시작했다. 인코딩 에러 슬랙에서 그냥 슬쩍 보고 넘긴 글이 있었다. 내 파이참에서 강의 화면하고 다른 메시지가 나왔을 때 당황했다가 준영님 글이 생각났다. 다시 자세히 보니 내 화면과 똑같았다. 스레드의 이미지를 보며 따라하니 바로 한번에 해결됐다. 이것저것 검색하고 시도해보느라 시간 엄청 걸렸을텐데 정말 좋았다. 이모티콘 하나 더 남겨야지 아직 잘 몰라서 그런지 Visual Studio Code가 더 좋지도 Pycharm이 더 좋지도 않고 그냥 똑같이 다 좋고 다 싫다. 둘 사이의 호불호는 없지만 나는 강의를 들을 때 영상 속 화면과 완벽히 똑같이 따라하는게 좋다. 맥북/맥에어가 없어서 그때는 어쩔 수 없이 다른 화면 구성으로 최대한 따라하지만 vscode나 pycha..
TIL 033123 팀 과제 제출하는 날 팀 과제 마지막 날 상점에서 복권 긁기를 추가했는데 파워가 마이너스 값도 나올 수 있게 바뀌었다. 공격하면 몬스터의 hp가 늘어나는건 늘어나는데 random.randint(파워*0.8,파워*1.2)에서 오류가 났다. 마이너스 값이 될 경우 시작값이 끝값보다 커져서 발생한 오류였다. 복권을 긁을 때 파워가 줄어들 수도 있는건 놔두고 대신 최소값이 0보다 작아지지 않도록 해결했다. getattr, setattr을 다른 팀에서 썼는데 나중에 더 알아봐야겠다. .keys() .values() .items() key, value 모두 어제 플레이어와 몬스터의 hp, mana 등을 표로 이쁘게 출력 시키는 걸 구글링할때 .iteritems()를 봤는데 이건 이제 없다고 한다.
TIL 033023 /t 이건 탭! print 간격 맞춰서 표처럼 보이게 할 때 좋다. 그런데 영어랑 한글이 섞이면 확 깨진다. rich로 테이블을 만들어봤다. 팀과제에 쓰지는 못했다. 값들을 표에 집어넣는 것까지만 해봤는데 꾸미기에 빠지면 나오기 힘들 것 같다. 딕셔너리랑 리스트가 헷갈린다. 특히 딕셔너리가 들어있는 리스트, 클래스가 들어있는 딕셔너리 등 섞여있으면 거기서 특정 값을 빼올 때 엄청 헷갈린다. 비주얼 스튜디오 코드의 라이브 셰어를 어제 처음 써봤다. 시작하는건 화면 공유로 알려주셨는데 끝나고 나서 따로 끄는건 없나보다. 파일명이 초록색으로 나오고, U(Untracked)가 붙었다. U가 없는 것도 있다. 뭐지? 찝찝하다.
TIL 032923 5의 4제곱 자꾸 5^4로 써진다. 5**4 !!!!! 홀짝 판별 분기문 '분기문'은 if 뒤에 오는 표현까지 그 한 줄을 말하는 것 같다. 예전에 if문은 if (expression1) statement1 else (expression2) statement2 이렇게 이루어진다고 하는 글을 봤었는데 오늘 다시 찾아보니까 if 뒤에 오는게 statement고 statement가 참이면 밑에 부분을 실행한다는 글을 봤다. 아무튼 분기문 하면 이제 진짜 알겠다. a = numpy.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print(*a)는 [1 2 3] [4 5 6] [7 8 9]로 출력된다. for i in a: print(*i) 이렇게 하면 1 2 3 4 5 6 7 8 9 ..
TIL 032823 개인 과제를 제출하는 날 9시 전에 visual studio code를 세팅해놓으려고 했는데 python -m venv venv를 치니까 error 13이 났다. visual studio code를 켰을 때 어제 작업하던게 그대로 나왔는데 새 윈도우창을 켜고 에러가 난 창을 닫은 후 폴더를 다시 열었다. 그리고 python -m venv venv를 치니까 똑같은 에러가 났다. 검색해보니 폴더 경로가 잘못 지정되었을 때 error 13이 난다고 한다. 에러 메시지에 // 슬래시가 두개씩 나오는데 그거 때문인가 했다. 하지만 이미 폴더를 다시 열어서 경로를 새로 지정해봤기에 다음 검색 결과를 읽어봤다. 그랬더니 정해진 경로에 파일명이 존재할 때 그런 에러가 난다고 했다. 폴더명도 game, 파이썬 파일명도 ..
TIL 032723 개인 과제를 하는 날! mp = 헌병. 국회의원. 마법 포인트??? 마나 포인트??? 이게 게임할 때 왜 필요하지... 마법을 한번 쓸때마다 깎이나? 시간이 지나면 마나가 차오르고? hp는 공격 받으면 깎이고 mp는 공격 하면 깎이는건가? 일반 플레이어는 hp가 있는거고 마법사는 mp가 있는건가??? 개인 과제 설명서를 다시 읽어봐야겠다. ===> 아닌 것 같다. 모든 플레이어한테 hp와 mp가 다 있는거고 모든 플레이어가 일반공격, 마법공격을 다 할 수 있는 것 같다. 처음에 생각한대로 hp는 공격받을 때, mp는 공격할 때 줄어드는게 맞는 것 같다. 그냥 시간이 지나면 1포인트 이렇게 찔끔씩 hp나 mp가 차오르는 것도 코드로 짤 수 있으려나. 이건 나중에 알아봐야겠다. 체력이 50% 이상일 땐 시간..
TIL 032423 오늘은 또 뭘 배우게 될까? 지금까지 파이썬 심화 강의를 수강하면서 매번 터미널에서 'python main.py'를 열심히 쳤는데 그냥 화살표 키보드↑만 누르면 전에꺼가 나온다는걸 알았다!!! json은 format의 형태이다. 지난주 미니 팀 프로젝트 때 썼던게 format의 형태구나! input()의 활용법을 다시 알았다. 핸드북 Mission을 풀 때 복붙해서 써보고 이해했는데 문제 풀이 시 내가 적용해서 쓰려니까 잘 안됐다. 다른 팀원분이 쓰신걸 보고 다시 이해했다. n = int(input('높이: ') m = int(input('너비: ') 이걸 보고 이해해서 그 다음 문제 때 num1=int(input()) num2=int(input()) num3=int(input()) 더 간단하게 아무 문..
TIL 032323 (2) datetime → string datetime 데이터를 string으로 바꾸는 방법은 두 가지가 있다. str()를 사용하면 print() 결과물이 출력된다. 특정한 형태의 데이터로 바꾸고자 한다면 strftime을 사용하면 된다. 참고로 datetime.datetime.now()로 현재 날짜, 시간을 얻을 수 있다. import datetime today = datetime.datetime.now() print(today) >>>> '2021-06-06 00:23:55.736843' ## 방법 1 str(today) >>>> '2021-06-06 00:24:28.669012' ## 방법 2 datetime.datetime.strftime(today, '%Y-%m-%d') >>>> '2021-0..