전체 글 72

[Python game] 파이썬으로 게임 만들기 class 사용하기

게임의 기본 원리에 대해 간단히 이해해보자. 왕자가 게임에서 싸울때 100점 만점으로 살아있고 0점 이하로 떨어지면 죽는다고 가정하자. 1. 게임의 시작: hp = 100 클래스로 왕자라고 이름을 만들어 준다. hp=100으로 시작하고 살아있기 때문에 alive = True 라고 볼 수 있다. 0 밑으로 떨어져서 죽는경우 alive = False 가 된다. class Prince(): hp = 100 alive = True 2. 공격: hp = hp - attack 이때 적은 (damage)라는 함수를 가지고, 있어서 공격 (attack) 을 받으면 내가 맞은 것이기 때문에 내 hp 가 (self, attack): 공격만큼 줄어들거야 라고 할 수 있다. 여기서 내 hp가 attack 만큼 줄어 들거야 (..

[Python map, filter, lambda] 파이썬 맵, 람다, 필터

map - 리스트의 모든 원소를 조작할 수 있는 맵, 필터, 람다를 배워보자 다양한 사람들의 이름과 나이가 들어있는 {dictionary} 사전을 [리스트]로 나열해 놓은 정보가 사람 정보가 있다고 가정하자. people = [ {'name': 'bob', 'age': 20}, {'name': 'carry', 'age': 38}, {'name': 'john', 'age': 7}, {'name': 'smith', 'age': 17}, {'name': 'ben', 'age': 27}, {'name': 'bobby', 'age': 57}, {'name': 'red', 'age': 32}, {'name': 'queen', 'age': 25} ] 1차 Python Map : result = map(check_ad..

[Python 함수 def ] 파이썬 긴 코드 짧게 만들어주는 함수 def , [파이썬] return 과 print의 차이점

파이썬 def 함수 문법, 언제 쓰는 걸까? def는 함수를 만들 때 사용하는 예약어이며, 함수 이름은 함수를 만드는 사람이 임의로 만들 수 있다. 함수 이름 뒤 괄호 안의 매개변수는 이 함수에 입력으로 전달되는 값을 받는 변수이다. def를 사용하면 파이썬이 "이제 함수를 정의하겠구나"하고 인식하게 된다. 그리고 함수에는 입력값이 있고 출력값이 있다. 함수의 용도 1. 긴 코드를 짧게 축약할 때 사용한다. 함수의 용도 2. 곱하기 제곱하기등 계산해 다른 결과물 만들 때 사용한다. 함수의 용도 3. Return 내뱉기 함수의 용도 1. 긴 코드를 짧게 축약할 때 사용한다. 예시로, 3이라는 숫자가 홀수 혹은 짝수인지 알고 싶다고 하자. 어떻게 하면 될까? (1) 주어진 정보, (2) 규칙, (3) 출력 ..

[Python 기호] 파이썬에 자주 사용되는 기호들: {} [] "" '' :

파이썬에 자주 사용되는 기호들, 헷갈리기 쉬운 기호들을 정리해 보았다. [] : [ ]는 list를 뜻하며 [1, 23, 38, 40]과 같이 '문자' 혹은 '숫자' 혹은 'true or false'를 나열하는 데 사용한다. 즉 a_list는 빨간 혹은 파랑 복 주머니처럼 명찰이고, [안에는 숫자 문자 참 거짓]을 모두 넣을 수 있다. 여기서 문자의 경우 ' ' 사용해서 하나의 개체로 만들어주어야 한다. 만약 1 더하기 배 라고 시킨다면 배가 숫자가 아니기 때문에 사칙연산으로 2나 3이 될 수가 없어 에러가 날 수 있다. 하지만 1을 하나의 개체로 인식하고 배라는 다른 개체를 합쳐서 보여줘라고 하면 '1 배'처럼 출력할 수 있다. {} : 파이썬에서 { }을 dictionary로 {이름: 토끼, 나이: ..

파이썬 꿀팁: 긴 코드 한줄로 줄여쓰기

파이썬을 이용하면 한 줄로 간단히 줄여 쓸 수 있다는 장점이 있다. 예를 들어, 3이라는 숫자가 홀수인지 짝수인지 알고 싶다. 먼저 (1) 숫자(num)는 3이야 라고 알려주고, (2) 규칙을 알려준다: 조건(if)에 따라 홀수와 짝수 같은 다른 값을 변수(result)에 저장하고 싶으니, 2로 나누어서 0 (num % 2 == 0)이 나오면 짝수이고 아니면 (else) 홀수라는 규칙이다. (3) 완전한 문장을 출력하기 위해 f를 넣어 print(f'{something}입니다')한다. if문 - 삼항연산자로 짝수인지 홀수 인지 구분하기 num = 3 result = ('짝수' if num % 2 == 0 else '홀수') print(f'{num}은 {result}입니다.') 즉, 3이라는 숫자가 if ..

[Pycharm import ] 파이참에서 파일 분리하기, 불러오기

밑에 내용은 파이참(pycharm)에서 파이썬(phython) 파일을 '분리'하고, '호환'되도록 '불러오는' 방법이다. 먼저 main_func.py 그리고 main_test.py 를 만든다. main_func.py 에 def 정의 와 print 출력을 넣는다. main_test.py 화면 첫줄에 from main_func에서 import 한다는 의미로 from main_func import *를 넣으면 그때부터 print 명령어 없이 요청한 내용을 main_func.py 에서 끌어와서 출력해준다. from main_func import *

[Python try except] 파이썬 에러 예외처리

파이썬 표본에 가끔 어떤 자료가 생략되거나 일관되지 않아 문제가 있을 수 있다. 그때 try except 구문을 이용하면 에러를 넘길 수 있다. 예를 들어, try 안에 있는 문장을 실행시키고, 예외 (except) 구문을 넣고, 문제가 있는 사람의 이름을 프린트 할때 (f-string)을 사용해 (f'{name} - error입니다')와 같이 완성된 문장을 출력(print) 해줄수있다. people = [ {'name': 'bob', 'age': 20}, {'name': 'carry', 'age': 38}, {'name': 'john', 'age': 7}, {'name': 'smith', 'age': 17}, {'name': 'ben', 'age': 27}, {'name': 'bobby'}, {'nam..

[Python for & f] f-string (직관적인 문장 만들기)

'희수 23'이 아닌 '희수은 23점입니다'와 같이 완성된 문장을 출력(print) 하고 싶을 때 2가지 방법이 있다. 첫째, 풀어쓰기: print(name + '는' + score + '점 입니다') 라고 나열해 붙여서 print 해줄 수도 있고, 둘째, 간단히 쓰기: f-string을 이용해 print(f'{name}는 {score}점 입니다') 라고 해줄 수 있다. ***** { } : print(f'영수은 70점입니다') 이중 영수의 자리에 {name} 점수의 자리에 {score}를 넣는 것 ' ' : 보통 한글과 같은 텍스트 자리에 ' '를 넣어주는데, 완성된 문장으로 쓸 경우 단어마다 ' ' 넣지 않고, 문장 전체를 ' '로 괄호 친다. for s in scores: name = s['name..

[Python tuple & set] 파이썬튜플 & 집합

보통 이렇게 a라는 이름의 박스 안에 '사과, 수박, 키위'가 있다고 알려주고, a박스 안에 무엇이 있는지 보여줘-라고 프린트하면 리스트에 모든 내용이 나열된다. 만약 여기서 첫 번째 내용물인 '사과'만 출력해 달라고 하고 싶다면 a 박스 내용 출력을 요청하는 print 옆에 사과가 몇 번째에 들어 있는지 확인한 후 첫 번째의 경우 [0]을 넣으면 '사과'만 출력된다. a = ['사과', '수박' ,'키위'] print(a[0]) 만약 a라는 박스 안에서 두 번째 위치한 '수박'을 '석류'로 바꾸고 싶다면 (1) 리스트 나열 후, (3) 프린트 출력 전, (2) 중간에 a박스 속 1번째 위치한 수박은 석류야라는 식으로 바꾸어주면 된다. 여기서 주의해야 할 점은 어느 위치에 있는지를 알려주는 박스는 [ 숫..

[Python if & for] 조건문 (if), 반복문 (for)

IF & ELSE 내가 5000원이 있는데, 만약 3000원 이상이면 '택시를 탈게' 아니면 '택시를 못타' 라는 두 개의 조건문 `money = 5000` `if money > 3000:` `print('take taxi')` `else:` `print('cannot take taxi')` IF & ELIF & ELSE 내가 5000원이 있는데, 만약 3000원 이상이면 '택시를 탈게', 만약 12000원을 넘으면 '난 버스를 탈 거야'. 그 둘 다 아니면 '걷겠어' `money = 5000` `if money > 3000: print('take taxi')` `elif money > 1200: print('take bus')` `else: print('lets walk')` 이렇게 4명의 사람이 있는..