Skip to content
This repository was archived by the owner on Feb 7, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
437 changes: 381 additions & 56 deletions Python-ifed.ipynb

Large diffs are not rendered by default.

Binary file added __pycache__/ability.cpython-39.pyc
Binary file not shown.
Binary file added __pycache__/nearest_square.cpython-39.pyc
Binary file not shown.
Binary file not shown.
Binary file not shown.
10 changes: 10 additions & 0 deletions ability.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import requests
def ability(name):
url = "http://pokeapi.co/api/v2/pokemon/"+name+"/"
payload=""
response = requests.request("GET", url, data=payload)
data = response.json()
ality=[]
for i in data["abilities"]:
ality.append(i['ability']['name'])
return ality
7 changes: 7 additions & 0 deletions nearest_square.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import math

def nearest_square(n):
if n<1:
return 0
else:
return(math.floor(n**0.5)**2)
90 changes: 90 additions & 0 deletions pokedex.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
import PySimpleGUI as sg
import requests


layout = [[sg.Text("Enter the name of Pokemon:")],
[sg.Input(key='-INPUT-')],
[sg.Text(size=(100,1), key='-OUTPUT1-')],
[sg.Text(size=(100,1), key='-OUTPUT2-')],
[sg.Text(size=(100,3), key='-OUTPUT3-')],
[sg.Text(size=(100,15), key='-OUTPUT4-')],
[sg.Text(size=(100,1), key='-OUTPUT5-')],
[sg.Button('Search'), sg.Button('Quit')]]

import requests
def ability(name):
url = "http://pokeapi.co/api/v2/pokemon/"+name+"/"
payload=""
response = requests.request("GET", url, data=payload)
data = response.json()
ality=[]
for i in data["abilities"]:
ality.append(i['ability']['name'])
return ality



window = sg.Window('PokeDex', layout)

while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED or event == 'Quit':
break

Details="Name of the pokemon:"+values['-INPUT-']
window['-OUTPUT1-'].update(Details)
name=values["-INPUT-"]

#TYPE OF POKEMON

urll = "http://pokeapi.co/api/v2/pokemon/"+name+"/"
urls=[]
tp=[]
data = requests.get(urll).json()
for i in range (2):
poke_type=data["types"][i]['type']['name']
urls.append(data["types"][i]['type']['url'])
tp.append(poke_type)

Details="Type of pokemon is: "+str(tp)
window['-OUTPUT2-'].update(Details)

#DOUBLE DAMAGE FROM

Details="Double Damage from: \n"
d_dmg_url=[]
cn=0
tpp=tp
tp=[]
for url in urls:
poke_type=requests.get(url).json()
Details+="Double Damage for "+tpp[cn]+" by: "
cn+=1
for j in poke_type["damage_relations"]["double_damage_from"]:
Details+=j["name"]+' '
tp.append(j["name"])
d_dmg_url.append(j["url"])
Details+='\n'
window['-OUTPUT3-'].update(Details)

#LISTING 5 POKEMON

Details='The 5 pokemons which gives the given pokemon double damage:\n'
print(d_dmg_url)
for i in range(len(d_dmg_url)):
dat=requests.get(d_dmg_url[i]).json()
Details+=("Pokemon of Type: "+tp[i]+'\n')
for j in range(5):
Details+=(dat["pokemon"][j]["pokemon"]["name"])
if j!=4:
Details+=(',')
Details+=("\n\n")

window['-OUTPUT4-'].update(Details)

#ABILITY

Details="Ability: "+str(ability(values['-INPUT-']))
window['-OUTPUT5-'].update(Details)

window.close()
60 changes: 60 additions & 0 deletions step_4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
import time
import pandas as pd
import numpy as np

with open('subset_elemets.txt') as f:
subset_elements = f.read().split('\n')

with open('all_elements.txt') as f:
all_elements = f.read().split('\n')

def function1():
"""
Function 1:
The default method for finding intersection of two sets.
"""

start = time.time()
verified_elements = []

for element in subset_elements:
if element in all_elements:
verified_elements.append(element)

print(len(verified_elements))
print('Duration: {} seconds'.format(time.time() - start))

def function2():
"""
Function 2:
The method of finding intersection of two sets using built-in function of numpy.
"""

start=time.time()
verified_elements=np.intersect1d(all_elements,subset_elements)

print(len(verified_elements))
print('Duration: {} seconds'.format(time.time() - start))

def function3():
"""
Function 3:
The method of finding intersection of two sets using data structure.
"""

start=time.time()
verified_elements=list(set(all_elements)&set(subset_elements))

print(len(verified_elements))
print('Duration: {} seconds'.format(time.time() - start))

def main():
print(function1.__doc__)
function1()
print(function2.__doc__)
function2()
print(function3.__doc__)
function3()

if __name__ == "__main__":
main()