본문 바로가기

프로그래밍42

파이썬 마인크래프트 : 파이썬을 멀티로 사용하는 방법 얼마전 파이썬으로 마인크래프트가 가능하다는 점을 알고 멀티로도 사용이 가능한지 테스트를 해보았는데 다른 사용자들도 사용이 가능하였습니다. 저는 대부분이 사용하는 스피곳을 이용하여 서버를 열고 라즈베리주스를 통해서 파이썬과 연동시키는 방법으로 멀티 서버를 열었습니다. 연동 과정은 상세히 추후 올리겠습니다. 보통 player class를 많이 사용하는데 entity class를 사용하면 됩니다. 아래 코드는 일반적으로 내가 가고 싶은 방향을 갈때 쓰는 코드입니다. player class 함수를 사용한 것입니다. from mcpi.minecraft import Minecraft # 파이썬과 마인크래프트의 각 축의 괴리값 X_AXIS = 240 Y_AXIS = -78 Z_AXIS = -208 mc = Minec.. 2022. 6. 22.
파이썬 마인크래프트 : 플레이어가 바라보는 방향 마인크래프트에서 F3키를 누르면 대표적으로 위치 정보와 바이옴 정보 등등의 현재 장소에 대한 정보를 표시해줍니다. 이번에는 플레이어가 바라보는 방향을 파이썬 코드로 나타내 보겠습니다. 이때 사용하는 함수는 getDirection 함수입니다. 플레이어가 바라보는 방향을 숫자로 돌려줍니다. 다음의 코드를 실행해보길 바랍니다. from mcpi.minecraft import Minecraft import time mc = Minecraft.create() # 서버와 연결 while True: pos = mc.player.getDirection() # 내가 보는 방향을 벡터로 알려줌 x = round(pos.x, 3) y = round(pos.y, 3) z = round(pos.z, 3) if 0.90 2022. 6. 17.
파이썬 마인크래프트 : 텔레포트 GUI만들기 이전 포스팅에서 다룬 텔레포트와 tkinter 모듈을 사용하여 GUI 창을 통해 마인크래프트의 텔레포트 기능을 만들어보겠습니다. from tkinter import * from mcpi.minecraft import Minecraft X_AXIS = 240 Y_AXIS = -78 Z_AXIS = -208 mc = Minecraft.create() # 서버와 연결 def tp(): """원하는 좌표로 이동""" # x = int(input_x.get()) # y = int(input_y.get()) # z = int(input_z.get()) xyz = [] for val in range(3): # 각 좌표값을 받아옴 temp = int(input_list[val].get()) xyz.append(temp.. 2022. 6. 17.
파이썬 마인크래프트 : player 관련 함수 마인크래프트와 파이썬의 연동은 차후 글을 올리도록 하겠습니다. 마인크래프트에서 player 관련 함수들을 살펴보겠습니다. from mcpi.minecraft import Minecraft mc = Minecraft.create() # 서버와 연결 # 정수 형태 플레이어 좌표 pos_integer = mc.player.getTilePos() print(pos_integer) # 실수 형태의 플레이어 좌표 pos_float = mc.player.getPos() print(pos_float) 위 코드에 대한 실행 결과입니다. 실제 마인크래프트의 좌표를 살펴보겠습니다. 출력된 좌표와 실제 마인크래프트간 차이가 있습니다. 출력된 좌표 - 미지수 = 실제 좌표 이 계산대로 미지수를 구해보겠습니다. 7 - x = -.. 2022. 6. 16.
호기심 파이썬(함수 1탄 : 함수 만들기, 여러 개 입력받기*args) 이번에는 함수에 대해서 알아보겠습니다. 함수는 수학시간에 했던 함수의 개념과 동일합니다. 수학에서의 함수는 아래 그림과 같이 어떠한 값을 넣으면 결과 값이 튀어나오는 구조입니다. 이와 같은 방식으로 프로그래밍의 함수로 마찬가지 입니다. 함수의 구조를 살펴보겠습니다. def function_name(parameter1 , parameter2 ... ): 함수 호출 시 작동할 코드 return 반환하고 싶은 값 def는 definde의 약자입니다. function_ name 은 함수 이름을 작성하는 부분입니다. parameter는 함수 호출 시 함수로 전달할 매개 변수 입니다. return은 함수를 종료하고 함수를 실행한 값을 돌려줍니다. 1. 함수의 기본 사용법 매개변수와 return은 필요에 따라 사용할.. 2022. 5. 13.
호기심 파이썬 ( 변수 이름 만들기 ) 변수 이름을 만들 때에도 규칙이 있습니다. 만약 한 반에 같은 이름이 여러명 있다면 누군가 이름을 부를 때 어떤 친구의 이름을 부르는 것인지 혼란이 올 것 입니다. 그래서 변수의 이름은 독특해야(unique) 합니다. 첫 번째 규칙 : 변수의 이름은 독특해야 한다. 만약 변수의 이름이 아래와 같을 때 a=1 b=2 ab=3 C=4 첫 번째 규칙에 따라 독특하긴 하지만 어떠한 용도로 사용되는지 구분이 가지 않습니다. 변수는 저장된 값의 의미를 담고 있는 것이 훨씬 알아보기 편리합니다. name = "코딩" age = 20 과 같이 특별한 의미도 지니고 있다면 이후에 코드를 보아도 이해하기 쉽습니다. 두 번째 규칙 : 변수는 저장된 값에 대한 의미를 가지면 좋다. 이 후의 규칙들은 특별히 설명까지는 필요하지.. 2022. 5. 12.
호기심 파이썬(반복문 : while문) 파이썬은 특정 범위를 반복 시킬 수 있는 for 문과 조건에 따라 반복 시킬 수 있는 while 반복문이 있습니다. 이 while 반복문의 특징은 조건이 참이면 반복을 실행하고 조건이 거짓이 되면 반복문을 중단하는 특징이 있습니다. 또한 모든 for문은 while 반복문으로 변환이 가능하지만 while 반복문은 for문으로 변환 될 수도 아닐 수도 있습니다. 이는 for문의 특징 때문인데 특정 범위만을 반복 시킬때만 사용가능하기 때문입니다. while 반복문의 구조를 살펴보겠습니다. while (조건식): --- ⓐ 반복시킬 문장 --- ⓑ 굉장히 심플하게 되어있습니다. 반복의 순서는 1. ⓐ에서 조건식의 참 거짓 여부 2. ⓑ ⓐ조건이 참이면 반복시킬 문장 실행 3. 다시 ⓐ조건 검사 4. ⓑ ⓐ조건이.. 2022. 5. 9.
호기심 파이썬(제어문 : for문을 쉽게 생각하는 법) 반복문은 조건에 따라 반복하는 while 반복문과 범위에 따라 반복하는 for문이 있습니다. 이 중 while 반복문은 어떠한 경우에도 반복할 수 있는 반복문이나 for문은 범위에 따라 사용하기 때문에 제한적입니다. 그러나 제한적이여도 for 반복문은 너무나도 편리한 반복문입니다. while 반복문이든 for 반복문이든 반복문에서 중점적으로 보아야할 것은 어떤 것을 반복할 것인지, 얼마나 반복할 것인지 찾는 것이 굉장히 중요합니다. 따라서 반복문을 사용하는데 헷갈리는 부분이 있다면 반드시 이 두 가지를 확인해보아야 합니다. """ 만약 다음과 같은 출력 결과를 얻고 싶다면? 실행 결과: 양의 정수를 입력하시오: 5 ##### #### ### ## # """ # 5를 입력하면 #으로 만든 삼각형이 나오면 .. 2022. 4. 22.
호기심 파이썬(유용한 method 및 함수 활용 예시) 이번에는 파이썬에서 유용하게 쓰이는 자료형의 메소드와 유용한 함수에 대해서 알아보겠습니다. 해당 내용은 몰라도 꾸역꾸역 구현할 수 있지만 이미 만들어져 있으므로 그냥 가져다 사용하면 됩니다. 1. 합계 구하기 2. 문자열 분리 3. map 함수 4. 대문자? 소문자? 5. 길이(원소의 개수) 구하기 6. 리스트 원소의 index번호 구하기 1. 합계 구하기 for 반복문을 이용하면 합계를 구하는 코드는 손쉽게 만들 수 있습니다. 그러나 이러한 코드 대신에 sum함수를 사용하면 훨씬 간편합니다. 형식은 다음과 같습니다. sum(자료형) => 자료형에는 리스트와 튜플이 사용됩니다. 2. 문자열 분리 "1 2 3 4 5" 이런식으로 되어있는 문자열을 분리시켜 문자열 형태로 리스트에 저장됩니다. 사용방법은 다음.. 2022. 4. 21.
호기심 파이썬(제어문 중 반복문 : for문) 이번에는 for문에 대해서 알아보겠습니다. for문은 특정 범위를 반복할 때 유용하게 사용됩니다. 예를 들어 1에서 100까지의 합을 구할 때, 30명 학생들의 등급을 분류할 때 등등 정해진 범위에서 사용하기 아주 유용한 반복문입니다. 반복문을 사용하는 이유는 반복적인 코드를 단순화하여 코드의 길이를 줄이고 가독성을 높이는 역할을 합니다. 만약 리스트 자료형에 들어있는 성적 데이터를 60점 이상은 합격이라고 결과를 도출하고 싶을 때 반복문을 사용하지 않는다면 어떻게 될까요? 직접 경험해보겠습니다. 합격 불합격을 구분하기 위하여 if ~ else을 총 6개 적어야 합니다. 복붙을 이용하면 6개정도는 일도 아니지만 30명, 100명이라면 힘들 것 입니다. 때문에 반복문이 필요합니다. 구조를 보고 설명은 아래.. 2022. 4. 18.
호기심 파이썬(제어문 중 조건문 : if문) 프로그래밍에서 코드의 흐름을 제어하는 문법을 제어문이라고 합니다. 이번에는 제어문 중 하나인 조건문(if문)에 대해서 알아보겠습니다. 보통 조건문이라고 하면 거의 if문을 의미합니다. try 문법도 있지만 이 부분에서는 다루지 않겠습니다. if문은 참(True)과 거짓(False)에 따라서 프로그램의 흐름이 달라지는 문법입니다. 예를 들어 수학 성적이 60점이 넘으면 합격, 60점보다 낮으면 불합격이라고 할 때 철수의 수학 성적이 85점 이라면 철수는 합격이라고 할 수 있겠습니다. 즉, 식으로 표현하면 수학 성적 > 60 이렇게 표현할 수 있습니다. 수학 시간에 했던 부등호가 프로그래밍에서도 동일하게 사용합니다. if문을 이해하기 위해서는 조건식에 대해서 이해해야 합니다. 조건식이라는 것은 조건에 만족을.. 2022. 4. 14.
호기심 파이썬(자료형 : 리스트) 이번에는 자료형 중 하나인 리스트에 대해서 알아보겠습니다. 중국집 메뉴 리스트라고 이야기하면 짜장면, 짬뽕, 볶음밥, 쟁반짜장 등등 이런 식으로 나열하여 생각하게 됩니다. 파이썬에서 말하는 리스트도 이와 동일합니다. 중국집 메뉴 리스트를 파이썬 코드로 표현하면 다음과 같습니다. menu = ["짜장면", "짬뽕", "볶음밥", "쟁반짜장"] 이런 식으로 표현합니다. 여기서 ,(콤마)로 구분지어놓은 "짜장면", "짬뽕" 같은 것을 리스트의 원소라고 표현합니다. 정수, 실수 자료형은 숫자로 만들고 문자열 자료형은 '와 "로 감싸서 만들고 리스트는 [](대괄호)로 감싸서 만듭니다. 리스트 자료형에 대해서 자세히 설명하면 자료형을 묶을 수 있는 자료형입니다. 다음은 리스트의 기본 형식입니다. [] => 빈 리스.. 2022. 4. 12.
호기심 파이썬(input 함수와 자료형 변환) 이전까지 정수, 실수 자료형 print 출력 함수, 문자열에 대해서 글을 올렸습니다. 이번에는 입력을 하는 함수에 대해서 작성해보겠습니다. print 함수가 눈으로 볼 수 있게 해주었다면 이번에는 input 함수로 원하는 값을 입력해볼 시간입니다. input 함수는 사용 방법만 이해하면 됩니다. 아래 코드는 사용 예시입니다. 형식은 다음과 같습니다. 변수 = input("문장") 변수에는 입력받은 결과가 저장될 공간이고 input 함수 안의 문자열을 입력 시 입력을 유도하기 위해서 안내 문장을 적는 것입니다. 안내를 하기 싫다면 괄호안을 빈 공간으로 넣어도 괜찮습니다. 여기서 address에 저장되는 자료형은 무엇일까요? 바로 문자열입니다. input함수를 통해서 입력받은 자료의 형태는 문자열로 받게 됩.. 2022. 4. 11.
호기심 파이썬(자료형 : 문자열) 오늘은 자료형 중에서 문자열에 대해서 알아보겠습니다. 문자열 자료형은 문자를 처리하기 위해서 존재합니다. 문자열은 '(따옴표)나 "(쌍 따옴표)로 감싸서 만들게 되는데 이때 "(쌍 따옴표)로 시작하면 반드시 반대편도 "(쌍 따옴표)로 감싸야합니다. 즉, '문자' 나 "data" 이러한 형식을 유지해야한다는 말입니다. 절때 'abcd" 이러한 형태는 안됩니다. 그렇다면 문자열의 사용예시를 보겠습니다. 지금 print 함수 안에 자료형을 보면 다음과 같습니다. print(문자열, 정수, 문자열) 이전 포스팅에서 print 함수는 자료형을 출력해주는 함수라서 자료형 중 하나인 문자열도 당연히 출력이 가능합니다. 위와 같이 문자가 필요한 부분에 언제든 사용이 가능합니다. 이제 정수와 실수, 문자열 각 자료형이 .. 2022. 4. 10.
호기심 파이썬(자료형 개요) 이전 포스팅에서 print 함수를 다루었습니다. print 함수는 데이터를 눈앞에 볼 수 있다고 그랬는데 그렇다면 데이터는 무엇일까? 데이터(data)는 자료를 말합니다. 산술 연산자를 사용할 때 숫자들이 사용되는데 숫자를 잘 보면 -1, 0, 1 과 같은 정수와 3.14, 0.1, -0.12와 같은 소수를 프로그래밍에서는 실수라고 부릅니다. 쉽게 이야기해서 정수는 소수점이 없는 형태이고, 실수는 소수점이 존재하는 형태입니다. 그렇다면 3과 3.0은 엄밀히 말해 형태가 다른 것입니다. 3과 3.0은 데이터(자료)이고 형태가 다르므로 3은 정수형 데이터 3.0은 실수형 데이터라고 부릅니다. 정수형 데이터, 실수형 데이터를 모아서 자료형(data type)이라 합니다. 파이썬에서는 정수형, 실수형 말고도 여.. 2022. 4. 8.
호기심 파이썬(print 함수) 지난 시간 산술 연산자와 변수에 대해서 학습하였습니다. 지금부터는 개발환경을 파이참으로 변경하겠습니다. pycharm 설치 방법은 여러 블로그에 많이 나와있습니다. 오늘은 눈앞에 값을 볼 수 있게 해주는 print 함수에 대해서 알아보겠습니다. 우리는 3 더하기 4의 결과를 보고 싶습니다. 이럴 때는 다음과 같이 print 함수를 사용합니다. 실행 결과 3 더하기 4의 결과 값이 눈앞에 보이게 되었습니다. print 함수는 위와 같이 한 개의 데이터만 볼 수 있는 것이 아닙니다. 위의 코드처럼 ,(콤마)를 이용하면 여러 개의 데이터의 결과 값을 눈 앞에 볼 수 있습니다. 대신에 주의할 점이 있습니다. ,(콤마)를 이용하면 데이터 사이에 공백이 추가됩니다. 2022. 4. 8.
호기심 파이썬(산술 연산자와 변수의 개념) 컴퓨터가 등장하게 된 배경은 계산을 빠르게 하기 위해서 등장했습니다. 따라서 연산을 할 수 있는 연산자가 중요한데 지금부터 연산자에 대해서 알아보겠습니다. 우리가 일상적으로 사용하고 있는 사칙연산자. 더하기, 빼기, 곱하기, 나누기 파이썬에서는 다음과 같은 기호로 표현하고 있습니다. + 더하기 - 빼기 * 곱하기 / 나누기 이 연산자들은 피 연산자가 양쪽에 두 개 필요합니다. 당연히 피연산자가 없으면 코드에서 에러가 발생합니다. 이 연산자들을 모르는 사람은 거의 없을 것으로 생각됩니다. 다음 소개할 연산자들은 코딩이 처음이라면 생소할 수도 있는 연산자입니다. // 몫 % 나머지 ** 거듭제곱 실제로 사용해보겠습니다. 8 // 2 는 8 / 2를 했을 때 몫을 말합니다. 8 % 3 은 8 / 3을 했을 때.. 2022. 4. 8.
호기심 파이썬 (개요) 저는 코딩을 잘 모르던 평범한 사람이 였습니다. 군대에 가서 이 조직에서 살아남으려면 내가 가진 임무를 철저하게 완수하는 것이 중요한 것임을 깨닫고, 열심히 주특기에 대해서 공부하고 궁금한 것은 끊임없이 질문하며 공부의 매커니즘을 이해했습니다. 대학에서 정보보안을 전공한 저는 이전까지 코딩에 대해서 잘 알지도 못했고 보안은 코딩이 필요없다 라는 생각을 했습니다. 하지만 공부하기에 늦은 나이일 수 있지만 컴퓨터와 관련해서 코딩은 필수적이다 라는 생각으로 바뀌었습니다. 예전에 공부했던 C언어를 다시 공부해볼까도 했지만 당시 너무 어려웠던 기억이 많아 다른 언어를 찾아보다가 파이썬이라는 언어가 눈에 띄었습니다. 몇 년전 친형의 친구가 앞으로는 파이썬이 널리 쓰일 수 있다라는 기억이 문득 스쳤습니다. 그래서 파.. 2022. 4. 8.