0% acharam este documento útil (0 voto)
7 visualizações3 páginas

Mathbot Py

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
7 visualizações3 páginas

Mathbot Py

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd

import math

from sympy import symbols, solve, diff, integrate, Eq

# Função para resolver equações lineares simples


def resolver_equacao(equacao):
try:
partes = equacao.split("x")
a = float(partes[0].strip())
b = float(partes[1].strip().replace("=", ""))
x = -b / a
return f"A solução é x = {x}"
except:
return "Desculpa, só consigo resolver equações lineares como '2x + 3 = 0'."

# Função para calcular a raiz quadrada


def calcular_raiz(numero):
try:
numero = float(numero)
if numero < 0:
return "Não consigo calcular a raiz de números negativos."
return f"A raiz quadrada de {numero} é {math.sqrt(numero)}"
except:
return "Insere um número válido."

# Função para calcular derivada


def derivada(funcao):
try:
x = symbols('x')
derivada = diff(funcao, x)
return f"A derivada de {funcao} é: {derivada}"
except:
return "Erro ao calcular a derivada."

# Função para calcular integral


def integral(funcao):
try:
x = symbols('x')
integral = integrate(funcao, x)
return f"A integral de {funcao} é: {integral} + C"
except:
return "Erro ao calcular a integral."

# Função para calcular área de figuras geométricas


def area_figura(figura, *dimensoes):
if figura == "círculo":
raio = float(dimensoes[0])
return f"A área do círculo é: {math.pi * raio ** 2}"
elif figura == "quadrado":
lado = float(dimensoes[0])
return f"A área do quadrado é: {lado ** 2}"
elif figura == "triângulo":
base = float(dimensoes[0])
altura = float(dimensoes[1])
return f"A área do triângulo é: {0.5 * base * altura}"
else:
return "Desculpa, só consigo calcular a área de círculo, quadrado ou triângulo."

# Função para trigonometria


def trigonometria(operacao, angulo):
radiano = math.radians(float(angulo))
if operacao == "seno":
return f"O seno de {angulo}° é: {math.sin(radiano)}"
elif operacao == "cosseno":
return f"O cosseno de {angulo}° é: {math.cos(radiano)}"
elif operacao == "tangente":
return f"A tangente de {angulo}° é: {math.tan(radiano)}"
else:
return "Operação inválida. Tente 'seno', 'cosseno' ou 'tangente'."

# Função para estatísticas


def estatisticas(tipo, lista_numeros):
numeros = list(map(float, lista_numeros.split()))
if tipo == "média":
return f"A média é: {sum(numeros) / len(numeros)}"
elif tipo == "desvio padrão":
media = sum(numeros) / len(numeros)
desvio = math.sqrt(sum([(x - media) ** 2 for x in numeros]) / len(numeros))
return f"O desvio padrão é: {desvio}"
else:
return "Operação inválida. Tente 'média' ou 'desvio padrão'."

# Função para resolver sistemas de equações


def resolver_sistema(eq1, eq2):
try:
x, y = symbols('x y')
solucao = solve([Eq(eq1), Eq(eq2)], (x, y))
return f"As soluções são: {solucao}"
except:
return "Erro ao resolver o sistema de equações."

# Função para calcular probabilidades simples


def probabilidade(ocorrencias, total):
try:
return f"A probabilidade é: {ocorrencias / total}"
except:
return "Erro ao calcular a probabilidade."

def chatbot():
print("Bem-vindo ao MathBot!")
print("Escreve um enunciado ou 'sair' para terminar.")

while True:
entrada = input("Pergunta: ").lower()
if entrada == "sair":
print("Até breve!")
break
elif "resolver" in entrada and "equação" in entrada:
equacao = input("Insere a equação (ex: 2x + 3 = 0): ")
print(resolver_equacao(equacao))
elif "raiz quadrada" in entrada:
numero = input("Insere o número: ")
print(calcular_raiz(numero))
elif "derivada" in entrada:
funcao = input("Insere a função (ex: x**2): ")
print(derivada(funcao))
elif "integral" in entrada:
funcao = input("Insere a função (ex: x**2): ")
print(integral(funcao))
elif "área" in entrada:
figura = input("Insira a figura (círculo, quadrado, triângulo): ")
dimensoes = input("Insira as dimensões (separa por espaço): ").split()
print(area_figura(figura, *dimensoes))
elif "seno" in entrada or "cosseno" in entrada or "tangente" in entrada:
operacao = input("Insira a operação (seno, cosseno, tangente): ")
angulo = input("Insira o ângulo em graus: ")
print(trigonometria(operacao, angulo))
elif "média" in entrada or "desvio padrão" in entrada:
tipo = input("Insira o tipo (média, desvio padrão): ")
lista_numeros = input("Insira os números (separados por espaços): ")
print(estatisticas(tipo, lista_numeros))
elif "resolver sistema" in entrada:
eq1 = input("Insira a primeira equação (ex: 2x + y = 5): ")
eq2 = input("Insira a segunda equação (ex: x - y = 1): ")
print(resolver_sistema(eq1, eq2))
elif "probabilidade" in entrada:
ocorrencias = float(input("Número de ocorrências: "))
total = float(input("Número total de eventos: "))
print(probabilidade(ocorrencias, total))
else:
print("Desculpa, não consigo responder a isso. Tenta algo como:")
print("- Resolver equação")
print("- Derivada de uma função")
print("- Integral de uma função")
print("- Calcular área de uma figura")
print("- Trigonometria")
print("- Estatísticas (média, desvio padrão)")
print("- Resolver sistemas de equações")
print("- Probabilidade")

# Executar o chatbot
chatbot()

Você também pode gostar