분류 전체보기 103

반복문을 사용하여 List를 수정할때에는 새로운 List를 만들자.

반복문을 사용하여 list의 element를 수정하고자 할때에 list에저장된 값에 변화가생긴다면 의도와는 다른 결과가 종종 나오곤 한다. list의 i번째 값이 0 이라면 그 다음값은 1로 바꾸는 코드를 짜보자. [0,0,0] ->[0,1,1] 이것을 아무생각없이 for loop로 구현해보면 olist = [0, 0, 0] for i in range(len(olist) - 1): if olist[i] == 0: olist[i+1] = 1 print(olist) 결과값 [0, 1, 0] 을 얻을 수있다. 중간에 olist[1]의 값이 1로바뀌었기때문에, olist[2]의 값이 변하지 않게 되는것이다. 그래서 리스트를 직접 수정한다기보단 새로운 리스트를 만들고, 기존 리스트에 덧씌우는것을 추천한다. 1. ..

python내가 버그를 공부 하는 방식

요즘 버그를 만날때마다 구글링과 doc읽기에 매진하다보니 내 목적이 프로그래밍을 하는건지 위키를 읽는건지 모르겠다. 더딘 진도율에 대한 변명으로 버그대처 방식을 올려본다. BeautifulSoup 오브젝트를 이용하여 html 데이터파일을 읽어오는 실습을 하던중, UnicodeDecodeError를 만났다. 파이썬 버그문서 UnicodeDecodeError는 코드해석중에 유니코드와 관련하여 일어나는오류이며, UnicodeError의 일종이라고한다. 그리고 UnicodeError는 ValueError(값에러) 의 일종이다. ValueError는 함수나 작업에 부적절한 값을 주었을경우 발생하는 오류이다. (타입은 적절한데 값이 부적절함) 요약: 함수에 잘못된 값이 주어져서 Unicode를 해독하는 과정에 문제..

it공부 (개념) 2022.12.28

아주 쉽게 이해하는 환경변수, window에서 환경변수 설정 및 python에서 사용하기

접근영역을 기준으로 한 다른 변수들과의 비교 지역변수 실행단위를 묶어주는 괄호내부나, 하나의 함수안에서만 접근 가능한 변수 전역변수 프로그램 모든곳에서 접근 가능한 변수 환경변수 프로그램의 실행 환경에서 접근 가능한 변수 지역,전역변수가 결국 프로그램 내부에 소속된 변수라면, 환경변수는 그 프로그램의 실행환경 자체에 소속된 변수다. 환경변수는 프로그램 내부가아닌 프로그램의 실행환경 전체에서 접근 가능하다. 여기서 말하는 환경은ide가 제공해주는 가상환경이나, 당신의 컴퓨터 전체를 뜻한다. 당신도 쓴적있다. 개발을처음시작하면 대부분 프로그램 설치경로를 path 라는 시스템 환경변수에저장한다. cmd에서 python이나 java등을 실행할때 프로그램 설치 주소를 일일이 타이핑 할 수고를 덜어주기 위해 하는 ..

it공부 (개념) 2022.12.24

python 파이썬 datatime 모듈로 주말을 제외한 주중 날짜만 얻어보기

파이썬 datetime모듈에는 timedelta라는 기능이 있다 delta는 "차이"라는 뜻으로, 날짜와 시간에대한 차이를 제공하여 연산을 돕는 기능을 하기때문에 지어진 이름같다. 사용법 원하는 datetime object에다가 산술연산 예시) today = datetime.today() print(today) 결과 : 2022-12-20 15:55 ~~~ yesterday = today - timedelta(days=1)를 선언한 후 print(yesterday) 결과:2022-12-19 15:55~~~ 이런식으로 정확히 today에서 day만 19로 바꾼값을 출력해주게 된다. +를 활용하면 2022-12-21 15:55~~~ 이런식으로 내일의 값을 출력해준다. parameter는 다음과 같다. day..

it공부 (개념) 2022.12.20

Python- smtp사용, 낮은수준의 보안 로그인 문제 해결

python에서 smtplib을 통해 이메일을 보낼때, 발신이메일을 로그인하는 과정을 거친다. 하지만 웹이아닌 프로그램에서 이메일에로그인하려면 그계정의 보안항목에서 "낮은보안수준의 앱에서의 로그인", "을 허용하거나, "앱 전용 비밀번호" 를 사용해야한다.. 하지만 현재 야후와 구글이 이 기능을 지원하지 않고있다. 파이썬 내 오류정보에 실린 구글의 서포트주소를 보고 알게되었는데, 구글에서는 로그인 2단계인증을 사용하는 유저들에게만 앱 비밀번호기능을 제공하고있다. 2단계 인증을 설정하지 않은 계정에서는 이 옵션이 아예 보이지않는다. 내 계정도 실습용으로 뚝딱 만든 이메일이라 앱 비밀번호항목이 보안탭에 아예없었다. .. 전화번호 인증을 거치고서 python에서 gmail 계정으로 로그인하여 메일전송에 성공했..

기타 2022.12.16

파이썬으로 블랙잭게임 만들기 후기

Dr Angela Yu 의 100day of codes day 11 첫번째캡스톤프로젝트: 블랙젝 게임만들기에 도달했다. 블랙잭이란? 트럼프카드 혹은 플레잉카드로 즐기는 수읽기 게임으로 21을 넘지 않는선에서, 숫자의 총합이 더 높은 카드들을 획득한 플레이어가 이긴다. 게임은 여기서 해볼 수있다. https://games.washingtonpost.com/games/blackjack 2,3,4,5,6,7,8,9,10 의 카드들은 각각 카드의 숫자와 일치하는 점수를 가지고있으며, 에이스A(1) 는 11점, J,Q,K는 10점의 점수를 가지고있다 게임의 진행은이렇다 이번 라운드에 배팅할 돈을 정한다. 딜러와 플레이어는 각각 카드를 두장씩 받는다. 딜러는 플레이어에게 카드를 한장 공개한다. 플레이어는 Stand..

it공부 (개념) 2022.12.07

유데미 java부트캠프 중단

java bootcamp from zero to first job을 듣고있었는데 코딩과제 채점에 오류가 있다. 어째서인지는 모르겠으나 eclipse에선 잘 돌아가는 프로그램들이 웹페이지에선 작동하질 않는다. 심지어 강사가 직접올려놓은 정답 코드들도 마찬가지이다. 그래서 일단은 진행을 중단하기로 했다. 긍정적으로 생각하자면..강사코드를 복붙하기 전까지는 내 코드들에 문제가있는 줄 알고 한문제에대한 솔루션을 여러가지 만들어보고 디버깅과정도 찬찬히 살펴볼 수 있는 시간이었다. 당분간은 닥터안젤라선생님의 파이썬부트캠프를 수강하기로했다.

기타 2022.12.04

Java println과 print의 차이.feat 별찍기, 유데미 진도율

유데미로 결제한 강의를 설렁설렁 수강 중이던 오늘.. "입력받은 높이의 피라미드 출력" 과제가 저를 막아섰습니다. 구현해야 할 기능은 이렇습니다. 정수 하나를 입력받고, 그것에 해당하는 높이의 피라미드를 세로로 출력하기 예시 input : 3 output: * ** *** ** * 제가 구상한 이중 반복문 로직에는 문제가 없었습니다만.. 출력 함수에 대해 잘 알지 못해서 지속적인 오류가 발생했습니다. 저는 모든 출력함수를 println으로 작성했거든요. println = print line println 함수로 출력 한 내용이 console의 한 line을 차지한다. print 함수는 줄 바꿈 (/n) 처리를 해주지 않는 한 하나의 line 위에서 계속 출력된다. System.out.println(*);..

it공부 (개념) 2022.11.27