목록컴퓨터프로그래밍 (5)
Bunny Code

Node → 최소 단위의 실행 가능 프로세서 → ROS에서 Node 단위로 프로그램을 나누어 작업 → 각 Node는 메시지 통신으로 데이터를 주고 받음 Package → 위의 노드 혹은 노드 실행을 위한 정보 등을 묶어 놓은 것 → 패키지의 묶음을 메타패키지라고도 함 Message → 노드간의 데이터를 주고받을 때 사용하는 수단 → 메시지는 integer, floating point, boolean 와 같은 변수형태 → 메시지 안의 메시지를 품고 있는 배열과 같은 구조도 사용 가능 Topic → 단방향의 메시지 통신 방법(연속성을 가짐) (ex, 센서 데이터) → 보내는 애 : Publisher, 받는 애 : Subscriber → 1:N, N:1, N:N 도 가능 → 대부분의 메시지에 Topic 사용 ..

저번 포스팅에서 재귀 함수는 계산을 반복하기 때문에 문제점이 많다고 했습니다. 이번 포스팅에서는 이로 인해 생기는 문제점인 메모화 기술을 알아보겠습니다. 먼저, 재귀 함수도 복습할 겸, 생기는 문제점을 실감하기 위해 재귀 함수를 이용해 피보나치 수열을 작성하는 코드를 살펴볼게요! 위의 코드 처럼 입력하면 굉장히 잘 짜여진 코드라고 생각할 수 있지만 저 코드로 피보나치 수열의 40 번째 항을 계산해보세요. 코드가 바로 40번째 항을 출력해주나요?? 아닙니다!! (컴퓨터에 따라 다르겠지만 저는 한 3~4초정도 걸렸어요.) 더 높은 항을 구하려고 할 수록 걸리는 시간은 기하급수적으로 늘어나게 됩니다.(아까 언급하기도 했지만 계산을 많이 반복하기 때문) 그렇다면 코드를 작성해서, 얼마나 반복하는지도 알아보겠습니..

범위를 만드는 함수인 range 함수에 대해 알아보겠습니다. range 함수를 만드는 방법에는 총 3가지 함수가 있습니다. 1) 0부터 -1 까지의 정수들로 범위를 만드는 경우 range() 2) 부터 -1 까지의 정수들로 범위를 만드는 경우 range(,) 3) 부터 -1 까지 만큼의 차이를 가진 정수들로 범위를 만드는 경우 range(,,) (range 함수로 범위를 만들 때 마지막 범위에 해당하는 숫자는 포함되지 않는 것을 항상 주의해주세요!) 예시를 들어보겠습니다..!! 그렇다면 이번에는 범위와 함께 for 반복문을 어떻게 활용하는지에 대해 알아보겠습니다. for in : 반복문을 n 번 반복하고 싶다면 range() 함수의 매개변수에 n 을 입력하면 됩니다. i 라는 변수에 범위 내부의 정수들을..

반복문의 기본 형태인 for 반복문에 대해 알아보겠습니다! 먼저 리스트와 함께 사용하는 경우를 보겠습니다. for in : print() (for 문 다음 줄 들여쓰기는 필수입니다!! 들여쓰기를 하지 않으면 오류가 발생하고 코드가 실행이 안돼요.) 이렇게 코드를 입력하면 리스트의 요소들을 차례차례 반복해줍니다. 말로 설명이 어려우니 바로 예시를 들어볼게요! array 라는 변수에 리스트를 지정해주고 for 문을 이용해 출력했더니 그 안에 요소들이 차례차례 출력되는 모습을 확인할 수 있었습니다. 딕셔너리와 for 반복문을 활용하기 전에 딕셔너리에 대해 먼저 배워볼게요! 딕셔너리는 리스트와 같이 여러 개의 값을 나타내주는 자료형입니다. 리스트와 다른 점이라 하면 리스트는 '숫자'를 기반으로 하는 값을 저장하..

파이썬으로 숫자들의 연산을 확인할 수도 있습니다. print() + 덧셈 - 뺄셈 * 곱셈 / 나눗셈 // 몫만 계산해주는 나눗셈 % 나머지만 계산해주는 나눗셈 ** 제곱 여러 연산자들을 사용할 때 우선순위가 부여되는데 파이썬은 일반적인 사칙연산 처럼 곱셉과 나눗셈을 먼저 계산합니다. (괄호를 통해 우선 순위를 지정해 줄 수도 있습니다.) 이 때 곱셉과 나눗셈의 순서가 왼쪽에서 오른쪽 한 방향으로만 계산됩니다. 예를 들어, 이번엔 변수를 지정해보도록 합시다.(말만 변수 지정이지, 굉장히 간단함) = print() 을 통해서 확인 변수들 끼리의 연산도 가능합니다!(type이 알맞을때) 이번엔 복합 대입 연산자를 사용해 봅시다.(말로 설명하기 어려워 예시를 통해 봐주세요!) += 덧셈 후 대입 -= 뺄셈 후..