본문 바로가기

파이썬12

[python] 간단한 예제로 알아보는 재귀함수 11월에, 분명 얼마전에 재귀함수를 공부했는데 벌써 까먹은 느낌이 들어서 간단하게 복습을 해보았습니다. 저는 장기 기억력이 정말 안 좋아서 이렇게 복습을 틈틈히 해줘야 하는데 그게 어렵네요ㅎㅎ 그래서 직장에서도 저한테 복잡하거나 헷갈리는 일을 할 때 빠르게 할 수 있도록 매뉴얼을 만들어 두고 있어요 자주 있는 일이 아닌 일을 처리할 때 유용하게 쓰고있는 것 같아요 직장에서 지출 및 예산관리를 담당하고 있는데 예수금을 잡거나 카드 오사용으로 인해 카드사용대체를 한다든가 할때, 더존프로그램에서 캡쳐를 해서 설명을 붙여 저장해 두고 다음에 그런 일이 발생하면 다시 그 파일을 열어서 봅니다. 저장해둘 때는 '이런 경우가 또 있으려나'하면서 귀찮을 때도 많지만 해두면 분명 쏠쏠하게 쓰게 되더라구요 덕분에 그냥 지.. 2020. 12. 7.
[python] 달팽이 배열 풀기 요즘 퇴근하고 그리고 주말에 파이썬 알고리즘 문제를 풀고 있어요. 12월부터 앱을 하나 만들어볼까 하는데 그전에 알고리즘 문제는 어떤 건지 알고싶어서 하고 있는데 재미가 있어서 계속 하다보니 11월 안에는 알고리즘 기초책 한권을 다 끝낼 것 같아요!ㅎㅎ (실력이 상승했는지는 답 못함^^;) 알고리즘에도 여러 유형이 있지만 오늘은 복습할 겸 달팽이 배열에 대해 쓰도록 하겠습니다! 책 '코딩강화파이썬'(저자 이규호 (2019)) p.237,238 참고하여 풀었습니다. 1. 문제 사용자에게 n을 입력받아 다음과 같이 달팽이 모양으로 자연수를 출력하는 프로그램을 작성하라. 단, 재귀 호출은 사용하지 않는다.(힌트: 2차원 리스트 사용) n 1 2 3 4 모양 1 1 2 4 3 1 2 3 8 9 4 7 6 5 1.. 2020. 11. 22.
[python] 람다함수, filter() 1. 람다함수 : 이름이 없는 함수. 한 줄에 정의해 간단하고 쉽게 사용한 후 없어지는 1회용 함수이다. 단순한 함수를 만들어 다른 함수의 인수로 넘겨줄때 유용하게 사용 #1_활용 >>>def mul(x,y): return x*y # 익숙한 사용자 함수 정의 >>>(lambda x,y:x*y)(3,4) # 람다함수 이용하여 함수이름 없이 정의 12 #2_활용 >>>sum = lambda x,y: x+y >>>sum(5,9) 14 #3_활용(람다+조건) >>>(lambda x,y: x if x>y else y)(2,8) 8 => 함수(function)의 인수에 함수를 또 다시 지정할때 => 함수의 return값으로 함수 지정하고 싶을 때 사용 2. filter() 함수 : 순회가능(literable)한 데.. 2020. 11. 8.
[python] for _ in range 2차원 리스트 코딩하기 >>> [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20], [21, 22, 23, 24, 25]] 어떻게? # 2차원 리스트 만들기 a= [] count = 0 for i in range(5): a.append([]) # 결과: [[], [], [], [], []] for _ in range(5): count += 1 a[i].append(count) print(a) # 결과:[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20], [21, 22, 23, 24, 25]] 1. 숫자들을 넣을 빈 리스트 만들기.. 2020. 10. 31.
[python_gui] 2. Alarm 만들기(오류 및 안되는 점 정리) 휴일에 집에 있으면 하루종일 침대에 달라붙어 있게 되는 것 같아요. 평일에는 출근하느라고 시간이 없어서 공부시간이 적으니 휴일에 빡세게 해야하는데 맘과 몸은 다르게 움직이네요ㅎㅎ 그래서 지금은 꾸역꾸역 도서관에 와서 파이썬키고 알람을 만들고 있어요. 하지만 열심히 검색하고 코드도 쳐보고 하지만 정말 상상하지 못한 곳에서 문제가 빵빵 터지네요 역시 실제로 해봐야 이런 게 문제가 되는구나 하고 알게 되는거 같아요. 그래서 앞으로 해야 할 것들과 현재 오류가 나는 점 등을 정리해보고 앞으로 그것들을 해결해 보도록 할거에요. ▶ 앞으로 할 것들 및 오류 정리 # set버튼 클릭 def set_alarm(): # hour 입력 확인 # h = int(hourTime.get()) if hourTime.index(".. 2020. 10. 11.
[python_gui] 1. Alarm 만들기 파이썬을 더 공부하고자 small project를 만들어 보기로 했어요! 알람을 만들어 봐야 겠다고 생각해서 만들고 있는데 제가 정말 아는게 하나도 없더라구요ㅠㅠ 틀을 만드는 법만 알지 알람 속 알멩이에는 뭐가 들어가는지 모르니까 하나부터 열까지 검색을 하면서 하고 있어요 그래서 파이썬 실력이 느는지는 모르겠고 영어독해는 확실히 느는 것 같은 느낌이 드네요ㅎㅎ 이게 맞는 건지 모르겠지만 일단 끝까지 만들어 볼거에요!ㅋㅋㅋ #1 현재 날짜와 시간을 넣어봅시다! 알람인 만큼 현재 날짜와 시간을 넣어주고 싶었어요!!(그냥 제 취향ㅎㅎ) 어제 맨 처음에 datetime으로 변수를 만들어서 root에 냅다 집어넣었더니 시간이 안 흘러가더라구요 시간이 흐르게 하는 방법을 고민하다가 오늘 우연히 발견했는데 처음 본 .. 2020. 10. 5.
[python_gui] frame 예쁘게 조정하기 오늘도 나도코딩 님의 "파이썬 무료 강의 (활용편2) - GUI 프로그래밍"을 따라하며 gui공부를 하고있습니다. 제가 gui로 알람을 만들겠다고 생각하면서 제일 처음 생각했던 것은 '내가 원하는 대로 프레임 간의 간격을 어떻게 조정할 수 있지?' 였습니다. 그당시 저는 여러 위젯들을 아래로 쭉 쌓는 것밖에 할 줄 몰랐어요. 제가 위젯들을 만들면 다 화면 중앙에 세로로 쭉 하고 배열되더라구요ㅎㅎ 그래서 모든 위젯들의 가로 세로를 일정한 간격으로 배열할 수 있는 방법에 대해 제일 궁금했습니다. ㅎㅎ(가장쓸모없는 것이 아닐까...ㅠㅠ) 다시 본론으로 돌아가서 아래 그림은 여러 frame을 만들고 각 frame에 위젯을 각각 넣어 배열한 상태입니다. 총 6개의 frame이 들어갔는데 각 frame 사이 간격이.. 2020. 10. 1.
[Python] 오늘의 오류 - 구문오류 SyntaxError: unexpected EOF while parsing 1. 발생 이유 프로그램 구문이 잘못됐을 때 발생합니다. 위의 구문 에러는 특히 따옴표를 제대로 여닫지 않았을 때 발생합니다. 구문 에러가 발생하면 철자, 따옴표 여닫기, 괄호 여닫기가 제대로 되었는지 확인합니다. 2. 해결 방법 괄호 짝이 맞는지, 닫는 괄호를 빠트리지 않았는지 확인합니다. 아래에서 위 오류와 관련된 상황을 살펴봅시다! 저는 분명히 문제없이 잘 입력한 것 같은데 왜 자꾸 오류가 나는 걸까요?? 잘 입력한 것 같은데 왜 그러는 거야!! (그거 아냐 정신차려ㅠㅠ) print(""" -- 당첨자 발표 -- 치킨 당첨자 : {0} 커피 당첨자 : {1} -- 축하합니다 -- """.format(winners[0],win.. 2020. 8. 8.
[Python-4] 할당연산자 할당연산자(Assignment Operators) Operator Description Examples = 왼쪽 변수에 오른쪽 값을 할당 N = B+C → N = B+C += 왼쪽 변수에 오른쪽 값을 더하고 결과를 왼쪽변수에 할당 N += 3 → N = N + 3 -= 왼쪽 변수에 오른쪽 값을 빼고 결과를 왼쪽변수에 할당 N -= 3 → N = N - 3 *= 왼쪽 변수에 오른쪽 값을 곱하고 결과를 왼쪽변수에 할당 N *= 3 → N = N * 3 /= 왼쪽 변수에 오른쪽 값을 나누고 결과를 왼쪽변수에 할당 N /= 3 → N = N / 3 //= 왼쪽 변수에 오른쪽 값을 나눈 후 몫을 왼쪽변수에 할당 N //= 3 → N =N // 3 %= 왼쪽 변수에 오른쪽 값을 나눈 후 나머지를 왼쪽변수에 할당 N.. 2020. 8. 2.
[Python-3] 연산자 pyhton을 이용한 간단한 연산 + 덧셈 - 뺄셈 * 곱셈 / 나눗셈 ** 제곱 // 나누기 후 몫 구함 % 나누기 후 나머지 구함 == 항등 연산자 != 비항등 연산자 2020. 8. 2.
[Python-2] 변수 변수: 값을 저장하는 공간 1. 변수 X print("우리집 강아지 이름은 댕댕이입니다.") print("댕댕이의 나이는 4살이고 산책을 좋아합니다.") 위와 같이 동일한 문장에 이름이나 나이같은 요소만 바꾸고 싶은 경우 어떻게 해야할까요? - 위와 같이 매번 요소들을 지우고 새로 작성해주면 됩니다. 하지만 위와 같이 2줄이 아닌 200줄이라면 그때는 어떻게 해야할까요? --> 이럴 때 변수를 이용하면 매번 새로 작성할 필요가 없게 됩니다. (아래에서 확인해봅시다.) 2. 변수 O 변수 이름 = 변수에 저장할 값 - animal 변수에 "강아지"라는 값을 넣습니다. - name 변수에 "댕댕이"라는 값을 넣습니다. - age 변수에 5 라는 값을 넣습니다. - like 변수에 "산책"라는 값을 넣습니다... 2020. 7. 31.
[Python-1] 자료형 기초 자료형(자료의 형태) 1. 숫자 자료형 print함수에서 숫자 출력 뿐만 아니라 여러가지 연산도 출력 가능합니다. print(3) 과 같이 ""또는 ''없이 사용가능합니다. 2. 문자열 자료형 - 숫자형과 달리 문자형은 print("풍선")과 같이 문자의 양옆에 " "또는 ' '을 적어주어야 합니다. - print("ㅋ" * 6) 의 연산은 오류가 나지 않고 ㅋㅋㅋㅋㅋㅋ이 출력됩니다. - 하지만 위 사진에서와 같이 " "이 없는 print(ㅋㅋㅋㅋㅋㅋ)은 오류가 나게 됩니다. 그리고 5번째 줄에서 오류가 나면 그 위로는 출력값이 보이지만 5번째 줄 밑으로는 출력이 되지 않는 것을 확인할 수 있습니다. 앞으로 문자형 사용에는 잊지않고 " " 또는 ' '을 사용해주어야 할 것 같습니다. 3. boolean .. 2020. 7. 31.