Generation

generate functionMon, 03 Feb 2025

programa basado en la web que convierta unidades de longitud, temperatura y masa agregale mas conversiones

Aquí te muestro un ejemplo de un programa web básico en Python que convierte unidades de longitud, temperatura y masa utilizando la biblioteca Flask. También te muestro cómo agregar más conversiones. **Requisitos previos** * Instalar Flask: `pip install flask` * Instalar Flask-WTF: `pip install flask-wtf` **Código** ```python from flask import Flask, render_template, request from wtforms import Form, StringField, DecimalField, validators app = Flask(__name__) app.config['SECRET_KEY'] = 'mi_clave_secreta' class ConversionForm(Form): unidad_original = StringField('Unidad original', [validators.InputRequired()]) valor_original = DecimalField('Valor original', [validators.InputRequired()]) unidad_destino = StringField('Unidad destino', [validators.InputRequired()]) @app.route('/', methods=['GET', 'POST']) def index(): form = ConversionForm() if form.validate_on_submit(): unidad_original = form.unidad_original.data valor_original = float(form.valor_original.data) unidad_destino = form.unidad_destino.data if unidad_original == 'metros' and unidad_destino == 'kilómetros': valor_destino = valor_original / 1000 elif unidad_original == 'kilómetros' and unidad_destino == 'metros': valor_destino = valor_original * 1000 elif unidad_original == 'metros' and unidad_destino == 'centímetros': valor_destino = valor_original * 100 elif unidad_original == 'centímetros' and unidad_destino == 'metros': valor_destino = valor_original / 100 elif unidad_original == 'grados Celsius' and unidad_destino == 'grados Fahrenheit': valor_destino = (valor_original * 9/5) + 32 elif unidad_original == 'grados Fahrenheit' and unidad_destino == 'grados Celsius': valor_destino = (valor_original - 32) * 5/9 elif unidad_original == 'kilogramos' and unidad_destino == 'gramos': valor_destino = valor_original * 1000 elif unidad_original == 'gramos' and unidad_destino == 'kilogramos': valor_destino = valor_original / 1000 else: valor_destino = 'No se puede realizar la conversión' return render_template('resultado.html', valor_original=valor_original, unidad_original=unidad_original, unidad_destino=unidad_destino, valor_destino=valor_destino) return render_template('index.html', form=form) if __name__ == '__main__': app.run(debug=True) ``` **Plantillas** Crea un archivo `templates/index.html` con el siguiente contenido: ```html <!DOCTYPE html> <html> <head> <title>Conversor de unidades</title> </head> <body> <h1>Conversor de unidades</h1> <form method="POST"> {{ form.hidden_tag() }} {{ form.unidad_original.label }} {{ form.unidad_original() }} {{ form.valor_original.label }} {{ form.valor_original() }} {{ form.unidad_destino.label }} {{ form.unidad_destino() }} <input type="submit" value="Conversor"> </form> </body> </html> ``` Crea un archivo `templates/resultado.html` con el siguiente contenido: ```html <!DOCTYPE html> <html> <head> <title>Resultado de la conversión</title> </head> <body> <h1>Resultado de la conversión</h1> <p>Valor original: {{ valor_original }} {{ unidad_original }}</p> <p>Unidad destino: {{ unidad_destino }}</p> <p>Valor destino: {{ valor_destino }}</p> </body> </html> ``` **Conversiones adicionales** Puedes agregar más conversiones en el archivo `app.py` en la función `index()`. Por ejemplo, para agregar la conversión de metros a pies, puedes agregar el siguiente código: ```python elif unidad_original == 'metros' and unidad_destino == 'pies': valor_destino = valor_original * 3.28084 elif unidad_original == 'pies' and unidad_destino == 'metros': valor_destino = valor_original / 3.28084 ``` Recuerda que debes agregar la conversión correspondiente en la plantilla `templates/index.html` para que el usuario pueda seleccionar la unidad destino. **Ejecución** Ejecuta el programa con `python app.py` y accede a `http://localhost:5000` en tu navegador para utilizar el conversor de unidades.

Want to kickstart your project?Use the new AI Studio to create your code