#!/usr/bin/python3.2 import re import urllib.request def getPokemans(): url = 'http://bulbapedia.bulbagarden.net/w/index.php?title=List_of_Pok%C3%A9mon_by_type&action=edit' data = urllib.request.urlopen(url).read().decode('utf8') data = data[data.find('>', data.find('textarea')) + 1:data.find('')] data = [i[:i.find('}')].split('|') for i in data.split('{{Abilityentry1|')][1:] names = [i[1] for i in data] types = [i[3:] for i in data] pokemans = dict(zip(names,types)) print('Got pokemon types...') return pokemans def getMoves(): url = 'http://bulbapedia.bulbagarden.net/w/index.php?title=List_of_moves&action=edit' data = urllib.request.urlopen(url).read().decode('utf8') data = data[data.find('>', data.find('textarea')) + 1:data.find('')] names = [i[1:i.find('}')] for i in re.split('{{m', data)][1:] types = [i[1:i.find('}')] for i in re.split('{{typetable', data)][1:] moves = dict(zip(names, types)) print('Got move list...') return moves def getModifiers(): indexes = 'Normal', 'Fighting', 'Flying', 'Poison', 'Ground', 'Rock', 'Bug', 'Ghost', 'Steel', 'Fire', 'Water', 'Grass', 'Electric', 'Psychic', 'Ice', 'Dragon', 'Dark' copypasta = [line.split(' ') for line in '''1× 1× 1× 1× 1× ½× 1× 0× ½× 1× 1× 1× 1× 1× 1× 1× 1× 2× 1× ½× ½× 1× 2× ½× 0× 2× 1× 1× 1× 1× ½× 2× 1× 2× 1× 2× 1× 1× 1× ½× 2× 1× ½× 1× 1× 2× ½× 1× 1× 1× 1× 1× 1× 1× ½× ½× ½× 1× ½× 0× 1× 1× 2× 1× 1× 1× 1× 1× 1× 1× 0× 2× 1× 2× ½× 1× 2× 2× 1× ½× 2× 1× 1× 1× 1× 1× ½× 2× 1× ½× 1× 2× 1× ½× 2× 1× 1× 1× 1× 2× 1× 1× 1× ½× ½× ½× 1× 1× 1× ½× ½× ½× 1× 2× 1× 2× 1× 1× 2× 0× 1× 1× 1× 1× 1× 1× 2× ½× 1× 1× 1× 1× 2× 1× 1× ½× 1× 1× 1× 1× 1× 2× 1× 1× ½× ½× ½× 1× ½× 1× 2× 1× 1× 1× 1× 1× 1× 1× ½× 2× 1× 2× ½× ½× 2× 1× 1× 2× ½× 1× 1× 1× 1× 1× 2× 2× 1× 1× 1× 2× ½× ½× 1× 1× 1× ½× 1× 1× 1× ½× ½× 2× 2× ½× 1× ½× ½× 2× ½× 1× 1× 1× ½× 1× 1× 1× 2× 1× 0× 1× 1× 1× 1× 1× 2× ½× ½× 1× 1× ½× 1× 1× 2× 1× 2× 1× 1× 1× 1× ½× 1× 1× 1× 1× ½× 1× 1× 0× 1× 1× 2× 1× 2× 1× 1× 1× ½× ½× ½× 2× 1× 1× ½× 2× 1× 1× 1× 1× 1× 1× 1× 1× 1× ½× 1× 1× 1× 1× 1× 1× 2× 1× 1× ½× 1× 1× 1× 1× 1× 2× ½× 1× 1× 1× 1× 2× 1× 1× ½×'''.replace('×','').replace('½', '0.5').splitlines()] copypasta = [[float(i) for i in line if i!=''] for line in copypasta] modifiers = dict(zip(indexes, copypasta)) for k in modifiers: modifiers[k] = dict(zip(indexes, modifiers[k])) return modifiers if __name__=='__main__': modifiers = getModifiers() moves = getMoves() pokemans = getPokemans() while True: x = input().split(' -> ') if x == '': break try: move = moves[x[0]] def_type = pokemans[x[1]] result = 1 for t in def_type: result *= modifiers[move][t] if result == 0: print('It has no effect') elif result < 1: print('Not very effective...') elif result == 1: print('It hit!') elif result > 1: print("It's super effective!") except: print('Entry not found.')