Drop files here
or click to upload
import streamlit as st
# Definición de clases
class Figure():
def area(self):
pass
def perimetro(self):
pass
class Circulo(Figure):
def __init__(self, radio):
self.radio = radio
def area(self):
return 3.1416 * self.radio ** 2
def perimetro(self):
return 2 * 3.1416 * self.radio
class Triangulo(Figure):
def __init__(self, base, altura, lado1, lado2):
self.base = base
self.altura = altura
self.lado1 = lado1
self.lado2 = lado2
def area(self):
return (self.base * self.altura) / 2
def perimetro(self):
return self.base + self.lado1 + self.lado2
class Cuadrado(Figure):
def __init__(self, lado):
self.lado = lado
def area(self):
return self.lado ** 2
def perimetro(self):
return 4 * self.lado
# ___________________________________
st.title("Calculadora de Figuras Geométricas")
figura = st.selectbox("Selecciona una figura", ["Círculo", "Triángulo", "Cuadrado"])
if figura == "Círculo":
r = st.number_input("Radio", min_value=0.0, step=0.1)
if st.button("Calcular", key="circulo"):
c = Circulo(r)
st.write(f"Área: {c.area():.2f}")
st.write(f"Perímetro: {c.perimetro():.2f}")
elif figura == "Triángulo":
base = st.number_input("Base", min_value=0.0, step=0.1)
altura = st.number_input("Altura", min_value=0.0, step=0.1)
lado1 = st.number_input("Lado 1", min_value=0.0, step=0.1)
lado2 = st.number_input("Lado 2", min_value=0.0, step=0.1)
if st.button("Calcular", key="triangulo"):
t = Triangulo(base, altura, lado1, lado2)
st.write(f"Área: {t.area():.2f}")
st.write(f"Perímetro: {t.perimetro():.2f}")
elif figura == "Cuadrado":
lado = st.number_input("Lado", min_value=0.0, step=0.1)
if st.button("Calcular", key="cuadrado"):
q = Cuadrado(lado)
st.write(f"Área: {q.area():.2f}")
st.write(f"Perímetro: {q.perimetro():.2f}")
Hi! I can help you with any questions about Streamlit and Python. What would you like to know?