Imported to Github

This commit is contained in:
nanometer5088
2022-08-29 09:54:20 -03:00
committed by GitHub
parent 91e0dc1393
commit cd65a86b16
5 changed files with 214 additions and 0 deletions

78
main.py Normal file
View 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
View File

@@ -0,0 +1,4 @@
statistics
scipy
matplotlib
numpy

0
setup.py Normal file
View File

15
src/init.py Normal file
View 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
View 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()