-
Notifications
You must be signed in to change notification settings - Fork 0
/
consumo_api_superhero.py
70 lines (63 loc) · 2.27 KB
/
consumo_api_superhero.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import urllib.request
from json import loads
from math import ceil
url = 'https://cdn.jsdelivr.net/gh/akabab/[email protected]/api/all.json'
webpage = urllib.request.urlopen(url).read().decode()
js = loads(webpage)
print(f'Existem {len(js)} personagens')
def listar_biografia(person):
print(f'|Personagem: {person["name"]}|')
print('-'*90)
print(f'| Biografia---------')
print(f'| Nome Completo:', person['biography']['fullName'])
print(f'| Apelido(s):', ', '.join(person['biography']['aliases']))
print('-'*90)
print(f'| Estatística de Potência:')
def listar_poderes(lista):
for chave in lista:
barra = "▒"
valores = ceil(lista.get(chave) // 2) + 1
print(f'| {chave:>12}: {valores:^5}{barra*valores:12}')
def mostrar_todos():
for personagem in js:
listar_biografia(personagem)
listar_poderes(personagem['powerstats'])
print('-'*90)
def mostrar_n_personagens():
quantidade = int(input('Quantos heróis deseja ver?'))
for qtd in range(quantidade):
listar_biografia(js[qtd])
listar_poderes(js[qtd]['powerstats'])
print('-'*90)
def pesquisar():
pesquisa_personagem = input('Digite o nome do personagem:')
for personagem in js:
if pesquisa_personagem.lower() not in personagem.get('name').lower():
continue
elif pesquisa_personagem.lower() in personagem.get('name').lower():
listar_biografia(personagem)
listar_poderes(personagem['powerstats'])
print('-'*90)
while True:
numero = input('''
[1] = Mostrar todos os personagens
[2] = Pesquisar Personagem
[3] = Mostrar um número [X] de Personagens
[4] = Sair
Digite um valor para prosseguir:''')
if not numero.isnumeric():
print("Digite apenas números!")
else:
numero = int(numero)
if numero in range(1, 5):
if numero == 1:
mostrar_todos()
if numero == 2:
pesquisar()
if numero == 3:
mostrar_n_personagens()
if numero == 4:
print('Saindo...')
break
else:
print("Valor digitado, inválido!")