python(58)
-
파이썬에서 import 파일 만들기. if __name__ == "__main__" 알아보기. main의 의미?
파이썬에 if __name__ == "__main__" 이런게 있다. 파이썬의 파일 이름에는 __name__이라는 변수가 기본적으로 있다고 한다. 한 번 볼까. def test_hello(): print('hello test_mok') test_mok.py라는 파일. import test_mok test_mok.test_hello() 그리고 같은 폴더 안에서 낙서장.py 라는 것을 만들어서 import test_mok 하면 가져온다. 그리고 그 py 안에 정의되어 있는 것을 가져오면 성공. 그리고 __name__이란게 있는지 확인하려면? import test_mok print(dir(test_mok)) 이렇게 써보면 된다. dir은 그 객체나 파일이 어떤 변수나 메소드가 있는지에 대한 것을 알려준다. 이..
2023.08.11 -
파이썬 math.gcd(Greatest Common Divisor), math.lcm(Least Common Multiple) 최소공배수 ,최대공약수
최대공약수(gcd) : Greatest Common Divisor 최소공배수(lcm) : Least Common Multiple import math print(math.gcd(36, 60)) print(math.lcm(36, 60)) 안에 인수는 2개 들어가야 한다. 결과값. 이미 최대공약수, 최소공배수는 다 나와있는 것이여서 편하다.
2023.08.09 -
파이썬 데크(deque) 공부하기.
from collections import deque d = deque([1, 2, 3, 4]) d.append(5) d.appendleft(0) print(d) print(d[0]) print(d[-1]) len(d) d.rotate(1) print(d) d.rotate(-1) print(d) d.clear() print(d) append 하면 뒤에 붙고, appendleft하면 앞에 붙는다. d[0]. d[-1]은 peeking이라는 것인데, pop과는 다르게 그 숫자를 불러와주지만 숫자가 사라지거나 하지는 않는다. pop을 적지는 않았지만 pop()과 popleft()하면 됨. roate도 된다. d.roate(1)을 하면 맨 오른쪽에 있는게 맨 왼 쪽으로 간다. d.roate(-1)을 하면 맨 왼..
2023.08.08 -
경기도미래기술학교 AI개발자 부트캠프 61일차 TIL- Linked list의 개념.
아니 좀 웃긴게 있는데.. GPT에 물어봐서 나오는 예제와 위키독스에서 쓰는 예제가 되게 비슷하다. 우연인가..? https://wikidocs.net/33841 e. 노드(Node) - 자료구조 기본 단위 ## 노드  관리… wikidocs.net 신기한 부분. 아무튼 오늘 제일 중요한 것은 Linked List라고 생각한다. 제일 앞은 Head, 뒤에는 Tail이라고 부른다. Head --> |data1|next|--->|data2|next|--->|data3|next|---> None 이렇게 되어있다. class Node: def __init__..
2023.08.02 -
파이썬 def 메서드 정의할 때 ->가 헷갈림. 브루트 포스로 인덱스 반환 계산하기.
from typing import List def twoSum(nums: List[int], target: int) -> List[int]: for n in range(len(nums)): for n2 in range(n+1, len(nums)): if nums[n] + nums[n2] == target: return List[n, n2] print(twoSum([7,11,15, 2], 9)) 이거 위에 있는 것 틀린 코드다. 실행하면 에러남. 리스트 형 반환하는게 헷갈린다. List로 반환하면 오류가 난다. return [n, n2] 로 해야 한다. from typing import List def twoSum(nums: List[int], target: int) -> List[int]: num_dic..
2023.08.02 -
경기도미래기술학교 AI개발자 부트캠프 60일차 TIL- 알고리즘 공부. 딕셔너리를 잘 몰랐다. 재귀 함수. 유클리드 호제법.
def factorial(n: int) -> int: if n==0: return 1 elif n > 0: return n * factorial(n-1) n = int(input('정수 입력: ')) factorial(n) 팩토리얼 문제. 수강생분이 짜주신거다. factorial 함수를 만들어서 n이 0이 되면 return은 1로 하고, 그렇지 않을 경우에는 n * n-1을 계속 하는 방식이다. 자기 자신을 계속 호출하면서 가져온 파라미터는 1씩 작아지는 것인데, 최종적으로는 밑에 return n* factorial(n-1)이 최종적으로 return 되는 값이 되는 것이고 그 때 까지는 이 메서드가 계속 연산이 진행되며 반환되는 것이다. 이렇게 하면 마지막은 1을 곱한것이니까 사실상 값은 안바뀌고 마무리..
2023.08.01