mirror of
https://github.com/ovosimpatico/Fazedor-de-conta.git
synced 2026-01-15 16:52:55 -03:00
Imported to Github
This commit is contained in:
78
main.py
Normal file
78
main.py
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
def main():
|
||||||
|
from src.init import inicio as init
|
||||||
|
lista = [8,4,5,1,3,7,5,3,3,4,9,7,3,2,2] # init()
|
||||||
|
x = 0
|
||||||
|
while x != 11:
|
||||||
|
x = int(input("\nQual operação desejas fazer:\n1= Mediana\n2= Media\n3= Moda\n4= Amplitude\n5= Quartil\n6= Variância\n7= Desvio Padrão\n8= Coeficiente de Variação\n9= Histograma\n10= Box Plot\n"))
|
||||||
|
if x == 1:
|
||||||
|
import os
|
||||||
|
os.system("cls || clear")
|
||||||
|
from src.matematicas import mediana
|
||||||
|
print(mediana(lista))
|
||||||
|
|
||||||
|
elif x == 2:
|
||||||
|
import os
|
||||||
|
os.system("cls || clear")
|
||||||
|
from src.matematicas import media
|
||||||
|
print(media(lista))
|
||||||
|
|
||||||
|
elif x == 3:
|
||||||
|
import os
|
||||||
|
os.system("cls || clear")
|
||||||
|
from src.matematicas import moda
|
||||||
|
print(moda(lista))
|
||||||
|
|
||||||
|
elif x == 4:
|
||||||
|
import os
|
||||||
|
os.system("cls || clear")
|
||||||
|
from src.matematicas import amplitude
|
||||||
|
print(amplitude(lista))
|
||||||
|
|
||||||
|
elif x == 5:
|
||||||
|
import os
|
||||||
|
from src.matematicas import quartil
|
||||||
|
x = quartil(lista)
|
||||||
|
os.system("cls || clear")
|
||||||
|
print("\nMediana da lista da esquerda (Q1)",x[0])
|
||||||
|
|
||||||
|
if len(x) == 3:
|
||||||
|
print("Mediana geral (Q2)",x[1])
|
||||||
|
|
||||||
|
print("Mediana da lista da direita (Q3)",x[2],"\n")
|
||||||
|
|
||||||
|
elif x == 6:
|
||||||
|
import os
|
||||||
|
from src.matematicas import varianciaamostral, varianciapop
|
||||||
|
os.system("cls || clear")
|
||||||
|
amostral = varianciaamostral(lista)
|
||||||
|
pop = varianciapop(lista)
|
||||||
|
print("Variância Populacional =",pop,"\nVariância Amostral =",amostral)
|
||||||
|
|
||||||
|
elif x == 7:
|
||||||
|
import os
|
||||||
|
from src.matematicas import desvio_padraopop, desvio_padraoamostral
|
||||||
|
os.system("cls || clear")
|
||||||
|
amostral = desvio_padraoamostral(lista)
|
||||||
|
pop = desvio_padraopop(lista)
|
||||||
|
print("Desvio Padrão Populacional =",pop,"\nDesvio Padrão Amostral =",amostral)
|
||||||
|
|
||||||
|
elif x == 8:
|
||||||
|
import os
|
||||||
|
from src.matematicas import coeficientevariacaoamostral, coeficientevariacaopop
|
||||||
|
os.system("cls || clear")
|
||||||
|
pop = coeficientevariacaopop(lista)
|
||||||
|
amostral = coeficientevariacaoamostral(lista)
|
||||||
|
print("Coeficiente de Variação Populacional =",pop,"\nCoeficiente de Variação Amostral =",amostral)
|
||||||
|
|
||||||
|
elif x == 9:
|
||||||
|
import os
|
||||||
|
os.system("cls || clear")
|
||||||
|
from src.matematicas import histograma
|
||||||
|
histograma(lista)
|
||||||
|
elif x == 10:
|
||||||
|
import os
|
||||||
|
os.system("cls || clear")
|
||||||
|
from src.matematicas import boxplot
|
||||||
|
boxplot(lista)
|
||||||
|
|
||||||
|
main()
|
||||||
4
requirements.txt
Normal file
4
requirements.txt
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
statistics
|
||||||
|
scipy
|
||||||
|
matplotlib
|
||||||
|
numpy
|
||||||
15
src/init.py
Normal file
15
src/init.py
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
def inicio():
|
||||||
|
import os
|
||||||
|
os.system("cls || clear")
|
||||||
|
lista = []
|
||||||
|
input("Avaliação Continuada 1 – Análise exploratória dos dados.\n\nCertifique-se que tenha as bibliotecas necessárias instaladas\nAs bibliotecas podem ser instaladas usando 'pip install -r requirements.txt'\n\nPressione ENTER para prosseguir")
|
||||||
|
os.system("cls || clear")
|
||||||
|
elementos = int(input("Insira a quantidade de elementos da lista: "))
|
||||||
|
os.system("cls || clear")
|
||||||
|
print("Insira os números a serem analisados: ")
|
||||||
|
for i in range(elementos):
|
||||||
|
x = int(input())
|
||||||
|
lista.append(x)
|
||||||
|
os.system("cls || clear")
|
||||||
|
print(lista)
|
||||||
|
return lista
|
||||||
117
src/matematicas.py
Normal file
117
src/matematicas.py
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
def mediana(lista):
|
||||||
|
#import statistics
|
||||||
|
#return statistics.median(lista)
|
||||||
|
lista.sort()
|
||||||
|
elementos = len(lista)
|
||||||
|
if not elementos % 2 == 0:
|
||||||
|
x = elementos // 2
|
||||||
|
return lista[x]
|
||||||
|
elif elementos % 2 == 0:
|
||||||
|
x = elementos // 2
|
||||||
|
conta = (lista[x-1] + lista [x]) / 2
|
||||||
|
return conta
|
||||||
|
|
||||||
|
def media(lista):
|
||||||
|
#import statistics
|
||||||
|
#return statistics.mean(lista)
|
||||||
|
x = len(lista)
|
||||||
|
y = sum(lista)
|
||||||
|
return y / x
|
||||||
|
|
||||||
|
def moda(lista):
|
||||||
|
#import statistics
|
||||||
|
#return statistics.multimode(lista)
|
||||||
|
from collections import Counter
|
||||||
|
from itertools import groupby
|
||||||
|
from operator import itemgetter
|
||||||
|
counts = Counter(iter(lista)).most_common()
|
||||||
|
maxcount, mode_items = next(groupby(counts, key=itemgetter(1)), (0, []))
|
||||||
|
return list(map(itemgetter(0), mode_items))
|
||||||
|
|
||||||
|
def amplitude(lista):
|
||||||
|
return max(lista) - min(lista)
|
||||||
|
|
||||||
|
def quartil(lista):
|
||||||
|
#import statistics
|
||||||
|
#return statistics.quantiles(lista, n=4)
|
||||||
|
lista.sort()
|
||||||
|
if len(lista) % 2 == 0:
|
||||||
|
tamanho = len(lista)
|
||||||
|
metade = tamanho // 2
|
||||||
|
comeco = lista[:metade]
|
||||||
|
fim = lista[metade:]
|
||||||
|
|
||||||
|
print(comeco, fim)
|
||||||
|
resposta = []
|
||||||
|
resposta.append(mediana(comeco))
|
||||||
|
resposta.append(mediana(fim))
|
||||||
|
return resposta
|
||||||
|
elif len(lista) % 2 != 0:
|
||||||
|
tamanho = len(lista)
|
||||||
|
metade = tamanho // 2
|
||||||
|
comeco = lista[:metade]
|
||||||
|
fim = lista[1 + metade:]
|
||||||
|
meio = mediana(lista)
|
||||||
|
|
||||||
|
print(comeco, meio, fim)
|
||||||
|
resposta = []
|
||||||
|
resposta.append(mediana(comeco))
|
||||||
|
resposta.append(meio)
|
||||||
|
resposta.append(mediana(fim))
|
||||||
|
return resposta
|
||||||
|
|
||||||
|
def varianciapop(lista):
|
||||||
|
#import statistics
|
||||||
|
#return statistics.pvariance(lista) # [Populacional]
|
||||||
|
listatemp = []
|
||||||
|
medialista = media(lista)
|
||||||
|
for i in range(len(lista)):
|
||||||
|
x = (lista[i] - medialista) ** 2
|
||||||
|
listatemp.append(x)
|
||||||
|
|
||||||
|
populacional = sum(listatemp) / (len(lista))
|
||||||
|
return populacional # [Populacional]
|
||||||
|
|
||||||
|
def varianciaamostral(lista):
|
||||||
|
#import statistics
|
||||||
|
#return statistics.variance(lista) # [Amostral]
|
||||||
|
listatemp = []
|
||||||
|
medialista = media(lista)
|
||||||
|
for i in range(len(lista)):
|
||||||
|
x = (lista[i] - medialista) ** 2
|
||||||
|
listatemp.append(x)
|
||||||
|
|
||||||
|
amostral = sum(listatemp) / (len(lista) - 1)
|
||||||
|
return amostral # [AmostraL]
|
||||||
|
|
||||||
|
def desvio_padraopop(lista):
|
||||||
|
#import statistics
|
||||||
|
#return statistics.pstdev(lista) # [Populacional]
|
||||||
|
return varianciapop(lista) ** 0.5
|
||||||
|
|
||||||
|
def desvio_padraoamostral(lista):
|
||||||
|
#import statistics
|
||||||
|
#return statistics.stdev(lista) # [Amostral]
|
||||||
|
return varianciaamostral(lista) ** 0.5
|
||||||
|
|
||||||
|
def coeficientevariacaopop(lista):
|
||||||
|
#from scipy.stats import variation
|
||||||
|
#return variation(lista) * 100
|
||||||
|
return (desvio_padraopop(lista) / media(lista)) * 100
|
||||||
|
|
||||||
|
def coeficientevariacaoamostral(lista):
|
||||||
|
return (desvio_padraoamostral(lista) / media(lista)) * 100
|
||||||
|
|
||||||
|
def histograma(lista):
|
||||||
|
from matplotlib import pyplot as plt
|
||||||
|
import numpy as np
|
||||||
|
marks = np.array(lista)
|
||||||
|
fig, axis = plt.subplots(figsize =(10, 5))
|
||||||
|
axis.hist(marks, bins = [0, 2, 4, 6, 8, 10]) # alterar de acordo com os dados
|
||||||
|
return plt.show()
|
||||||
|
|
||||||
|
def boxplot(lista):
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
import numpy as np
|
||||||
|
plt.boxplot(lista)
|
||||||
|
return plt.show()
|
||||||
Reference in New Issue
Block a user