파이썬 기초문법 1~3권 내용과 병행하여 만들 수 있는 미니프로젝트 입니다.
1. [입출력/문자의연산] 타이틀 출력하기
- 게임이 시작되면 "포켓몬 배틀"이라고 출력
- 위 아래로 "=" 20개 출력
print("="*20)
print("포켓몬 배틀")
print("="*20)
2. [입출력] 이름 정하기
- 당신의 이름은 무엇입니까? input으로 받아 a에 저장하세요
a=input("당신의 이름은 무엇입니까?")
3. [f스트링] 이름 출력하기
- 두 줄로 아래의 내용을 출력하세요
"{a}님, 반갑습니다.
포켓몬을 드리겠습니다."
print(f"{a}님, 반갑습니다.\n포켓몬을 드리겠습니다.")
4. [리스트] 포켓몬 리스트 만들기
- 포켓몬 3마리를 p 리스트에 저장해봅시다.
- 이상해씨, 파이리, 꼬부기
p=['이상해씨','파이리','꼬부기']
5. [리스트-추가하기, 꺼내오기 연습] 포켓몬 이름 출력하기
- 인덱싱으로 리스트에 있는 포켓몬을 가져와서 출력해봅시다.
p[0]
결과>
'이상해씨'
- 가나다 순으로 정렬해 봅시다. 리스트의 메서드를 사용해 리스트에 추가/변경 할 수 있습니다.
리스트 이름 뒤에 "."을 입력하고 tab키를 눌러봅시다. 다음 중 어떤 메서드를 사용해야 할까요?
p.sort()
['꼬부기', '이상해씨', '파이리']
- 꼬부기를 삭제해 봅시다. 어떤 메서드를 사용해야 할까요?
p.remove('꼬부기')
['이상해씨','파이리']
- 이번에는 맨 뒤에 '꼬부기'를 추가해 봅시다. 어떤 메서드를 사용해야 할까요?
p.append('꼬부기')
print(p)
결과>
['이상해씨','파이리','꼬부기']
6. [출력 \n 이스케이프문자열로 줄바꾸기] 포켓몬 고르기 메뉴 출력하기
스타팅 포켓몬을 고를 수 있도록 menu를 출력해 봅시다.
[스타팅 포켓몬을 고르세요]
1. 이상해씨
2. 파이리
3. 꼬부기
print("스타팅 포켓몬을 고르세요")
print(f'1.{p[0]}')
print(f'2.{p[1]}')
print(f'3.{p[2]}')
7. [숫자값 입력받기(int input)] 포켓몬 고르기
다음 포켓몬 중 어떤 포켓몬을 고르시겠습니까? (1,2,3중 하나를 입력)
m에 input함수를 이용하여 숫자로 값을 받아보세요.
m=int(input('다음 포켓몬 중 어떤 포켓몬을 고르시겠습니까?'))
8. [리스트 값 가져오기] 내 포켓몬 이름 출력하기
{m}을 고르셨습니다.
당신의 포켓몬은 {m}입니다.
print(f"{p[m-1]}을(를) 고르셨습니다.\n당신의 포켓몬은 {p[m-1]}입니다.")
메뉴에서는 1.이상해씨, 2.파이리, 3.꼬부기 이지만, 리스트에서는 인덱싱이 [0,1,2]이므로 1씩 차이가 나게 된다.
인덱싱 p[m]을 하게 되면 안되고, p[m-1]을 해야 한다.
m ... p[m-1]
1.이상해씨 ... p[0]
2.파이리 ... p[1]
3.꼬부기 ... p[2]
9. [딕셔너리 저장하기, 호출하기]
p1, p2, p3에 아래 값을 딕셔너리로 저장하고, 각 value를 key값으로 호출해 본다.
p1={'name':'이상해씨','hp':45,'atk':49,'df':49}
p2={'name':'파이리','hp':39,'atk':52,'df':43}
p3={'name':'꼬부기','hp':44,'atk':48,'df':65}
딕셔너리의 호출방법은 p1['name'] -> 리스트와 비슷하지만, 인덱싱 숫자가 아닌 key값을 입력하여, value를 호출한다.
name: 이상해씨 hp: 45 atk: 49 df: 49 |
name: 파이리 hp: 39 atk: 52 df: 43 |
name: 꼬부기 hp: 44 atk: 48 df: 65 |
print('name:', p1['name'])
print('hp:', p1['hp'])
print('atk:', p1['atk'])
print('df:', p1['df'])
10. [함수 정의하기]
stat()이라는 함수를 정의하여, 이상해씨의 데이터를 출력해 봅시다.
def stat():
print('name:', p1['name'])
print('hp:', p1['hp'])
print('atk:', p1['atk'])
print('df:', p1['df'])
11. [매개변수가 있는 함수+if문 구현하기]
def stat(x):
print('name:',x['name'])
print('hp:',x['hp'])
print('atk:',x['atk'])
print('df:',x['df'])
stat(p1)
출력>
name: 이상해씨
hp: 45
atk: 49
df: 49
stat(p2)
출력>
name: 파이리
hp: 39
atk: 52
df: 43
stat(p3)
출력>
name: 꼬부기
hp: 44
atk: 48
df: 65
11. [매개변수가 있는 함수+if문 구현하기]
if문을 사용하여, 조건에 따라 아래 내용대로 출력한다.
m=내가 선택한 포켓몬 숫자(1,2,3중 입력)
1번을 골랐을 때는 이상해씨의 stat(p1)
2번을 골랐을 때는 파이리의 stat(p2)
3번을 골랐을 때는 꼬부기의 stat(p3)
def choice(x):
if x==1:
stat(p1)
elif x==2:
stat(p2)
elif x==3:
stat(p3)
else:
print("잘못 고르셨습니다.")
choice(m)
12. [메소드, 모듈-time]
포켓몬 배틀이 시작됨을 알리며, 야생의 포켓몬과 조우하기까지의 딜레이를 추가한다.
import time
.
.
.
print("포켓몬 배틀을 시작합니다.")
time.sleep(1)
print(".")
time.sleep(1)
print(".")
time.sleep(1)
print(".")
13. [for문을 이용한 단순 횟수 반복]
time.sleep(1)을 3번~5번 반복하도록 코드를 수정한다.
for i in range(3):
time.sleep(1)
print(".")
14. [모듈-random] 야생의 포켓몬 출현
import random을 불러와 p리스트에서 랜덤하게 하나를 뽑아 e에 저장한다.
---------변수 리스트----------------------
p=['이상해씨','파이리','꼬부기']
a=내 이름
m=내가 선택한 포켓몬 숫자(1,2,3)
e=랜덤하게 출몰한 포켓몬 숫자
-------------------------------------------------
print("야생의 포켓몬이 출몰했다.")
e=random.randint(1,3)
15. [매개변수가 있는 함수] 적 포켓몬의 stat을 출력
stat(e)
import random
import time
p=['이상해씨','파이리','꼬부기']
p1={'name':'이상해씨','hp':45,'atk':49,'df':49}
p2={'name':'파이리','hp':39,'atk':52,'df':43}
p3={'name':'꼬부기','hp':44,'atk':48,'df':65}
def stat(x):
print('name:',x['name'])
print('hp:',x['hp'])
print('atk:',x['atk'])
print('df:',x['df'])
def choice(x):
if x==1:
stat(p1)
elif x==2:
stat(p2)
elif x==3:
stat(p3)
else:
print("잘못 고르셨습니다.")
def delay():
for i in range(3):
time.sleep(1)
print(".")
def title():
print("="*20)
print("포켓몬 배틀")
print("="*20)
title()
a=input("당신의 이름은 무엇입니까?")
print(f"{a}님, 반갑습니다.\n포켓몬을 드리겠습니다.")
delay()
print("스타팅 포켓몬을 고르세요")
print(f'1.{p[0]}')
print(f'2.{p[1]}')
print(f'3.{p[2]}')
m=int(input('다음 포켓몬 중 어떤 포켓몬을 고르시겠습니까?'))
print(f"{p[m-1]}을(를) 고르셨습니다.\n당신의 포켓몬은 {p[m-1]}입니다.")
delay()
choice(m)
print("포켓몬 배틀을 시작합니다.")
delay()
delay()
e=random.randint(1,3)
print(f"야생의 포켓몬이 출몰했다.")
choice(e)
'파이썬 수업 > 파이썬 미니프로젝트' 카테고리의 다른 글
[파이썬] 탕후루 자판기 만들기 (0) | 2023.12.02 |
---|---|
[파이썬] 딕셔너리를 이용하여, 거스름돈 계산하기 (1) | 2023.11.04 |
[파이썬] 행맨(hang man) (0) | 2023.10.21 |
[파이썬] 테트리스 만들기 (0) | 2023.10.21 |
[파이썬] 파이썬 파일을 exe파일로 출력하기 - pyinstaller (0) | 2023.06.10 |
Comment