목록분류 전체보기 (352)
개발자입니다
내 코드N, M, V = map(int, input().split(' '))def dfs(graph, start, visited, order): visited[start] = True order.append(start) for e in graph[start]: if not visited[e]: dfs(graph, e, visited, order)def bfs(graph, start, visited, order): queue = [start] while queue: item = queue.pop(0) if not visited[item]: visited[item] = True orde..
하노이 탑"""하노이의 탑, Al Sweigart al@inventwithpython.com원반 이동 퍼즐 게임.이 코드는 https://nostarch.com/big-book-small-python-programming 에서 볼 수 있습니다.태그: 간단한, 게임, 퍼즐"""import copyimport sysTOTAL_DISKS = 5 # 더 많은 원반은 더 어려운 퍼즐을 의미합니다.# 모든 원반을 A 타워에 시작합니다:COMPLETE_TOWER = list(range(TOTAL_DISKS, 0, -1))def main(): print("""하노이의 탑, Al Sweigart al@inventwithpython.com원반을 하나씩 다른 타워로 옮기세요. 큰 원반은 작은 원반 위에 놓을 수 없습..
timeit 모듈소프트웨어 개발 분야에서 "섣부른 최적화는 만악의 근원"이라는 말이 있다. 다음과 같이 반복가능 언패킹이라고 불리는 다중 할당 기법을 사용해 두 변수를 교환할 수 있는데 짧은 시간 안에 실행된다.import timeittimeit.timeit('a, b = 42, 101; a, b b = b, a')# 0.053624899999931586 timeit.timeit() 함수는 두 번째 문자열 인수로 설정코드를 취할 수도 있다. 설정 코드는 첫 번째 코드 문자열을 실행하기에 앞서 한 번만 실행된다. 또한 number 키워드 인수에 대한 정수를 전달해 기본 시행 횟수를 변경할 수도 있다.기본적으로 timeit.timeit()으로 넘기는 코드 문자열은 다음과 같이 프로그램의 다른 변수와 함수에 ..
프로그램은 반드시 사람이 읽을 수 있게 작성되는 것이 우선이며, 부차적으로 컴퓨터가 실행할 수 있어야 한다. 소스 코드에 직접 기입하는 주석comment은 컴퓨터가 무시하는 간단한 설명이다.독스트링docstring은 함수, 메소드, 모듈에 대한 파이썬 문서 형식이다.타입 힌트type hint는 변수, 파라미터, 반환값의 데이터 타입을 명세하기 위해 파이썬 소스 코드에 추가할 수 있는 지시자directive다. 주석단일행 주석은 #, 다중행 주석은 """를 사용한다.# 이것은 단일행 주석이다."""이것은다중행 문자열로 구성되어다중행 주석으로 사용된다 """ 주석 스타일# 아래 줄 코드에 대한 주석부는 여기 넣는다someCode()# 이 부분은 여러 개의 단일 행 주석을# 기호를 이용해 연속으로 배치해 ..
함수명함수는 통상적으로 동작을 수행하기 때문에, 대체로 이름에 동사가 들어간다. 또한 행위 대상을 설명하는 명사가 들어가기도 한다. 예를 들어 refreshConnection(), setPassword(), extract_version()클래스나 모듈의 일부인 메소드의 이름에는 명사가 필요하지 않을 수 있다. SatelliteConnection 클래스의 reset() 메소드나 webbrowser 모듈의 open() 함수는 이미 이해에 필요한 맥락을 제공한다.약어나 너무 짧은 이름보다는, 길고 설명적인 이름을 사용하는 편이 좋다. 수학자라면 gcd()라는 함수만으로도 두 수의 최대공약수를 반환한다는 사실을 즉시 간파할 수 있지만, 일반 사람들은 getGreatestCommonDenominator()라고 써..
루프문 진행 중에는 리스트에서 아이템을 추가/삭제하지 말자이 코드는 작동하지 않을 것이다. 무한 반복에 빠져버려 CTRL-C를 눌러야만 멈출 수 있다.clothes = ['skirt', 'red sock']for clothing in clothes: # 리스트를 반복 if 'sock' in clothing: # 'sock' 문자열 찾기 clothes.append(clothing) # 일치하는 'sock' 짝을 추가 print('Added a sock:', clothing) # 사용자에게 알림# Added a sock: red sock# Added a sock: red sock# Added a sock: red sock# ...생략...# Added a sock: red s..