Python

· Python
백준 좌표 정렬하기 2 문제 해결을 위해 튜플 정렬에 대해 공부하게 되어 그 내용을 기록한다 tuple = [(1, 2), (0, 4), (1, -1), (3, 3), (2, 2)] 1. 첫 번째 원소를 기준으로 오름차순 출력 (두 번째 원소를 기준으로 할 경우 'x[0]' 대신 'x[1]') tuple.sort(key=lambda x: x[0]) print(tuple) 출력 [(0, 4), (1, 2), (1, -1), (2, 2), (3, 3)] 2. 첫 번째 원소를 기준으로 내림차순 출력 (두 번째 원소를 기준으로 할 경우 'x[0]' 대신 'x[1]') tuple.sort(key=lambda x: -x[0]) print(tuple) 출력 [(3, 3), (2, 2), (1, 2), (1, -1),..
· Python
Flask를 사용한 프로젝트 진행 중 redirect와 render_template의 차이점에 의문이 생겼다 render_template는 redirect와 달리 render_template('index.html', id = user['id']) 와 같이 데이터를 줄 수 있는 것 말고는 다른 차이점을 알지 못했다 모르고 사용하기에는 너무 자주 사용하는 두 메서드의 차이점을 찾아보았다 [redirect] 해당 페이지에 다시 재접속을 하는 것이다 즉, 현재 요청된 연결을 특정 주소로 재연결 시킨다 http://localhost/index 라는 요청에서 redirect('main.html') 을 설정하면 http://localhost/main 로 접속이 되게 된다 보통 /index 주소에서 데이터를 처리하는 ..
· Python
전체 사용자 수가 필요해 pymongo에서 count() 함수를 사용하려 했다 Robo3T 에서는 결과가 잘 나와서 python 에서 아래와 같이 작성을 했지만 작동하지 않았다 total = db.user.find({}).count() 아래와 같이 사용하니 원하는 count() 결과를 얻을 수 있었다 total = db.user.count_documents({}) 참고 : https://stackoverflow.com/questions/4415514/in-mongodbs-pymongo-how-do-i-do-a-count In MongoDB's pymongo, how do I do a count()? for post in db.datasets.find({"test_set":"abc"}).sort("abc"..
· Python
pygame 에서 text input 작업에 필요해 찾은 key 파일을 기록하기위해 작성한다 pygame Constant ASCII Description --------------------------------- K_BACKSPACE \b backspace K_TAB \t tab K_CLEAR clear K_RETURN \r return K_PAUSE pause K_ESCAPE ^[ escape K_SPACE space K_EXCLAIM ! exclaim K_QUOTEDBL " quotedbl K_HASH # hash K_DOLLAR $ dollar K_AMPERSAND & ampersand K_QUOTE quote K_LEFTPAREN ( left parenthesis K_RIGHTPAREN ) ri..
· Python
1. pygame 선언 - import 2. pygame 초기화 - pygame.init() 3. 전역 변수 - size, screen(pygame.display.set_mode(size)), clock(pygame.time.Clock()) 4. pygame 메인 루프 (while) { } 아래는 pygame의 구조를 파악하는데 도움이 된 예제이다 # Import a library of functions called 'pygame' import pygame # Initialize the game engine pygame.init() # Define the colors we will use in RGB format BLACK= ( 0, 0, 0) WHITE= (255,255,255) BLUE = ( 0, ..
· Python
파이썬의 삼항연산자는 자바의 삼항연산자와 다르다는 것을 오늘 알게되었다 아래코드는 ' 5가 4보다 작으면 50을 num에 대입하고 그렇지 않으면 100을 대입해라 ' 라는 자바 코드이다 int num = (5 < 4)?50:100 파이썬 삼항연산자는 어떻게 사용하는지 알아보자 아래 코드는 삼항연산자를 사용하지 않고 조건에 따라 다른 변수를 저장하는 코드이다 num = 3 if num%2 == 0: result = "짝수" else: result = "홀수" print(f"{num}은 {result}입니다.") if 문 삼항연산자를 사용하면 아래 코드와 같다 num = 3 result = "짝수" if num%2 == 0 else "홀수" print(f"{num}은 {result}입니다.")
· Python
pymongo.errors.OperationFailure: Authentication failed 에러가 발생했을 때 해결한 방법이다 # 기존 client = MongoClient('mongodb://아이디:패스워드@localhost', 27017) # 변경 client = MongoClient('mongodb://아이디:패스워드@서버아이피', 27017)
· Python
파이썬에서 인덱스값으로 댓글을 삭제하는 작업을 하려고 여기저기 찾아보다가 ObjectId 클래스를 알게 되었다 파이썬에는 이 클래스가 내장되어있지 않아서 별도로 import해주어야 한다 from bson.objectid import ObjectId import한 ObjectId의 사용 예는 다음과 같다 @app.route('/profile/delete', methods=['POST']) def delete_comment(): idx_receive = request.form['idx_give'] db.comments.delete_one({'_id': ObjectId(idx_receive)}) return jsonify({'msg': '댓글이 삭제되었습니다.'})
· Python
서버에서 HTML로 데이터 전달 @app.route('/profile/') def show_profile(user_name): return render_template('profile.html', user_name=user_name) 의 값이 show_profile() 메서드의 매개변수로 들어가서 render_template() 메서드가 실행될 때 user_name=user_name 와 같은 형태로 같이 실어 보낸다
· Python
GET 방식도 POST와 똑같이 request.form 으로 데이터 받아올거라 생각했다가 KeyError에 시달렸다. 같은 문제로 구글 여행을 떠나지 않기 위해 기록한다. @app.route('/profile', methods=['GET']) def view_profile(): name_receive = request.args.get('name') ... return jsonify({ 'user_name': name_receive }) request.args.get() 메서드를 사용하면 $.ajax({ type: "GET", url: "/profile", data: {name:name}, success: function (response) { ... } GET 방식 ajax에서 보낸 데이터를 받을 수 있다.
· Python
people list 내 dictionary에서 age가 20이상인 항목의 name을 출력하려한다. people = [ {'name': 'bob', 'age': 20}, {'name': 'carry', 'age': 38}, {'name': 'john', 'age': 7}, {'name': 'smith', 'age': 17}, {'name': 'ben', 'age': 27}, {'name': 'bobby'}, {'name': 'red', 'age': 32}, {'name': 'queen', 'age': 25} ] for person in people: if person['age'] > 20: print (person['name']) 위 코드는 에러가 발생한다. {'name': 'bobby'} 항목은 age..
· Python
scores list 내 dictionary 의 name과 score을 모두 출력하려한다. scores = [ {'name':'영수','score':70}, {'name':'영희','score':65}, {'name':'기찬','score':75}, {'name':'희수','score':23}, {'name':'서경','score':99}, {'name':'미주','score':100}, {'name':'병태','score':32} ] 아래는 f-string 을 사용하지 않은 경우의 방법이다. for s in scores: name = s['name'] score = str(s['score']) print(name+'는 '+score+'점 입니다') 아래는 f-string 을 사용한 경우의 방법이다. f..
· Python
Flask : 간단한 웹 사이트, 혹은 간단한 API 서버를 만드는 데에 특화 되어있는 Python Web Framework pymongo : noSQL인 mongoDB를 다루기 위한 파이썬 라이브러리 bs4 : 파이썬으로 웹을 크롤링 한 후 HTML 태그로 부터 원하는 데이터를 가져올 때, 파싱하기 편하게 해주는 라이브러리 requests : API 데이터를 추출하기 위한 파이썬 라이브러리
· Python
import tkinter as tk disValue = 0 operator = {'+': 1, '-': 2, '/': 3, '*': 4, 'C': 5, '=': 6} stoValue = 0 opPre = 0 # 숫자 클릭 def number_click(value): global disValue disValue = (disValue * 10) + value # 숫자 클릭 시 10의 자리씩 이동 str_value.set(disValue) # 화면에 숫자 표시 # C 클릭 def clear(): global disValue, stoValue, opPre # 주요 변수 초기화 stoValue = 0 opPre = 0 disValue = 0 str_value.set(str(disValue)) # 화면 초기화 #..
Sungwoo Koo
'Python' 카테고리의 글 목록