專案實作:寶可夢管理系統
from pokedex import Pokedex
from Pokemon import Pokemon
import pandas as pd
import matplotlib.pyplot as plt
dex = Pokedex()
dex.add_pokemon(Pokemon("皮卡丘", "電", 12, 100))
dex.add_pokemon(Pokemon("妙蛙種子", "草", 8, 80))
dex.show_all()
pikachu = dex.pokemons["皮卡丘"]
bulbasaur = dex.pokemons["妙蛙種子"]
pikachu.attack(bulbasaur)
pikachu.heal()
pikachu.evolve()
with open('diary.txt', 'a', encoding='utf-8') as f:
f.write('皮卡丘進化為雷丘\n')
dex.add_pokemon(Pokemon("噴火龍", "火", 20, 120))
dex.add_pokemon(Pokemon("傑尼龜", "水", 10, 90))
dex.add_pokemon(Pokemon("卡比獸", "一般", 25, 200))
dex.add_pokemon(Pokemon("耿鬼", "幽靈", 18, 85))
dex.add_pokemon(Pokemon("快龍", "龍", 30, 150))
pokemon_data = []
for p in dex.pokemons.values():
pokemon_data.append({
'名稱': p.name,
'屬性': p.type,
'等級': p.level,
'HP': p.hp,
'最大HP': p.max_hp
})
pokemon_df = pd.DataFrame(pokemon_data)
pokemon_df.to_csv('pokemon.csv', index=False)
df_pokemon = pd.read_csv('pokemon.csv')
print(df_pokemon.describe())
plt.figure(figsize=(8, 5))
plt.hist(df_pokemon['等級'], bins=5, edgecolor='black')
plt.title('寶可夢等級分布')
plt.xlabel('等級')
plt.ylabel('數量')
plt.show()