본문 바로가기

Python144

Udemy : Tkinter, 동적 프로그램 Udemy : Tkinter, 동적 프로그램 Canvas Widget 이미지 위에 이미지/ 글 넣기 canvas의 x, y 기준은, canvas 변수명을 주었을 때 설정했던 width와 height 기준이다 추가로, window.config()와 Canvas() 에 bg= 를 넣어서 배경 색깔을 바꿀 수 있다 Canvas(highlightthickness=0)으로 만들어야, border가 안 나온다 동적 타이핑 예) 숫자를 문자열로 바꿔서 사용 위에 토마토를 보면, 10 아래로 떨어지면 한 자리 수만 보여준다 원래 시간은 00, 01, 02 이런 식으로 보이는 것이 익숙하다 # ---------------------------- TIMER MECHANISM --------------------------.. 2023. 1. 27.
Udemy : Tkinter, *args, **kwargs 및 GUI Udemy : Tkinter, args, *kwargs 및 GUI Argument with Default Values def my_function(a, b, c): # Do this with a # Then do this with b # Finally do this with c my_function(c=3, a=1, b=2) my_function() 안에, a, b, c의 값들을 넣어서 함수를 실행했다 하지만 함수를 만들 때에, 미리 기본 값을 설정해서, 함수를 바로 실행할 수 있다 def my_function(a=1, b=2, c=3): # Do this with a # Then do this with b # Finally do this with c #--- 기본 값을 가지고 함수 작동 --- my_f.. 2023. 1. 26.
[Python] 백준 1339 단어 수학 🧑‍💻 [Python] 백준 1339 단어 수학 Gold 4 - 그리디 문자열들이 주어진다 문자열들의 알파벳에 숫자를 배정해서, 더해서 최대 수를 만드는 것이다 A에 9를 배정했으면, 모든 문자열에 A가 들어가 있으면, 그 A들은 9이다 문제풀이 문자열을 어떻게 딕셔너리에 넣어서, 어떻게 숫자를 배정할지 많이 고민을 했다 알파벳들이 십의 몇번째 자리인지 찾고, 그 자리에 따라서 내림차순으로 9부터 배정하는 것이다 각 단어들의 알파벳들을 딕셔너리에 넣는다 여기서 10 ** (times - 1)을 하여서, 해당 알파벳이 몇 번째 자리인지 value로 넣는다 그리고 다 구했으면 딕셔너리의 값들을 리스트로 변환해서, 내림차순으로 정렬을 한다 정렬한 리스트를 순회하면서 9부터 내려가면서 곱해주고, result에 .. 2023. 1. 26.
[Python] 백준 1439 뒤집기 🧑‍💻 [Python] 백준 1439 뒤집기 Gold 5 - 그리디 문자열은 0과 1 밖에 없다 연속된 숫자들을 뒤집는 것이고, 최소한으로 뒤집는 것이 목표 즉 0000011111000001100 은 01010 과 똑같다 문제풀이 (처음 풀이, 틀림) one , zero라는 변수를 만들어 0으로 초기화 시켰다 문자열을 순회하며, 문자열이 바뀔 때 마다, 1이면 one에 1을 더하고, 0이면 zero에 1을 더했다 경우의 수 one이 0이고, zero가 0일 때에, 숫자를 뒤집지 않아도 되서 0을 출력 one만 0이면 zero 값인 1을 출력 zero만 0이면, one 값인 1을 출력 zero와 one이 0이 아니면, 둘 중에 작은 것을 출력 문제풀이 (두번째) 000001110000110110 은 010.. 2023. 1. 25.
[Python] 백준 1138 한 줄로 서기 🧑‍💻 [Python] 백준 1138 한 줄로 서기 Gold 4 - 그리디 입력값은 서있는 사람의 기준으로 왼쪽에, 자신보다 키가 큰 사람의 숫자를 의미한다 예) 키가 1인 사람 왼쪽에는 자신보다 큰 사람이 6명이 있다 문제풀이 result의 0의 개수를 세면서, index + 1 즉 키를 넣어주면 된다 코드 N = int(input()) result = [0] * N for index, num in enumerate(list(map(int, input().split()))): cnt = 0 i = 0 while True: if result[i] == 0 and cnt == num: result[i] = index + 1 break elif result[i] == 0: cnt += 1 i += 1 pri.. 2023. 1. 25.
Udemy : Python 리스트와 딕셔너리 컴프리헨션 Udemy : Python 리스트와 딕셔너리 컴프리헨션 리스트 컴프리헨션 (List Comprehension) 원래 사용했던 코드 numbers = [1,2,3] new_list = [] for n in numbers: add_1 = n + 1 new_list.append(add_1) print(new_list) # output : [2,3,4] 리스트 컴프리헨션 new_list = [new_item for item in list] numbers = [1,2,3] new_list = [n + 1 for n in numbers] print(new_list) # output : [2,3,4] if문 추가하기 new_list = [new_item for item in list if test] 뒤에다가 if문을.. 2023. 1. 25.
Udemy : Python CSV 데이터와 Pandas Udemy : Python CSV 데이터와 Pandas CSV (Comma Separated Values) 표로 나타낼 수 있는 데이터들을 뜻한다 엑셀 같이 각 열은 데이터를 뜻 하는데, , 를 통해서 데이터를 나눈다 CSV 데이터 읽기 csv 라이브러리를 import 한다 csv.reader()를 사용해서, 각 열의 데이터를 가지고 온다 for문으로 순회를 하며, 각 열의 데이터를 볼 수 있다 , csv.reader()를 사용해서 데이터를 끌어왔을 때 그 밑에는 for문으로 을 순회하며, 각 열의 데이터를 출력한 것이다 Pandas https://pandas.pydata.org/docs/reference/index.html 파이썬 데이터 분석 라이브러리다 표로 나타난 데이터들을 분석하는데 매우 유용하다.. 2023. 1. 25.
Udemy : Python 파일과 디렉토리(경로) Udemy : Python 파일과 디렉토리(경로) 파일 (Files) 파이썬을 이용해서 파일을 열고, 읽고, 쓰고, 닫는 것 # 파일을 열기 file = open("my_file.txt") # 파일을 읽기 contents = file.read() print(contents) # 파일을 닫기 contents.close() open() | read() | close() 파일을 열었을 때, 기본 모드는 read이다 즉 파일에 데이터를 추가하고 싶을 때에 open("my_file.txt", mode="w") 를 해준다 모드 부분에 쓰기까지 사용할 수 있도록 했다 단, read()가 안 된다 하나 씩 사용할 때에는, 꼭 파일을 닫아야 한다 open() 모드 mode = "r" : 파일을 읽는 것 (데이터를 추가할.. 2023. 1. 23.
Udemy : 파이썬 거북이 크로싱 프로젝트 Udemy : 파이썬 거북이 크로싱 프로젝트 거북이가 자동차들을 피해서 도로를 건너는 것 거북이는 위로만 갈 수 있다 자동차는 왼쪽으로만 움직인다 자동차는 랜덤으로 생성 거북이가 도로를 건너면, 다음 레벨로 가고, 자동차 속도는 더 빨라진다 느낀 점 그 전에는 파이썬으로 숫자나 데이터만 보면서 실습을 하거나, 강의를 들었다. 그러다 보니, 생각하는 것도 배가 되고, 시각화가 잘 안 되어서 조금 힘들었다. 하지만, turtle 모듈을 이용하면서, 내 코드가 시각화가 되면서, 좀 더 재미있게 코딩을 할 수 있었던 것 같다. 특히, 전에는 class와 function이 잘 이해가 되지 않아서, 둘을 사용하는 것을 많이 자제를 했다. 아니면 장고를 할 때에는, 크게 생각을 안 하면서 사용을 했다. 하지만, 이번.. 2023. 1. 22.