es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Python Bottle maneja operaciones de botones onclick simples y múltiples.

¿Cómo puedo activar una operación si se hace clic en un botón por primera vez, pero si se presiona nuevamente hacer una tarea adicional?

  • Primero, hay una descripción de lo que intento lograr, ¡también proporcionaré un poco de código a continuación!

Ahora, cuando hago clic en el botón desde el lado del cliente, necesito que los datos de obj_list se multipliquen y se almacenen los resultados en obj_db (lo cual ya he hecho).

Pero cuando hago clic en el botón nuevamente, necesito multiplicar y sumar los nuevos datos devueltos de obj_list con los datos almacenados previamente en obj_db, y así sucesivamente.


<h1>si presiono un botón en el lado del cliente, (obj_list) devuelve algo como [0.3, 2.32, 1.22], que obtengo a través de Python.</h1> if request.method == 'POST':<br> x = 1 obj_db = [] for obj_items in obj_list:<br> should_sum = False while not should_sum: x *= obj_items #retornar solo dos números decimales después del número flotante<br> new_obj_num = round(obj_total, 2) obj_db.append(new_obj_num) print('valor almacenado : ', obj_db) if objeto_seleccionado: obj_db += obj_items else: should_sum = True

¿Alguna sugerencia??!

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Una posible solución es usar una variable de bandera para llevar un registro de si el botón ha sido o no presionado antes. Si es la primera vez, entonces simplemente se puede multiplicar el obj_list y almacenarlo en obj_db. Sin embargo, si la bandera está configurada en verdadero, se puede usar un bucle para iterar sobre tanto obj_db como el nuevo obj_list para multiplicar y luego sumar sus elementos respectivos. Aquí hay un ejemplo de fragmento de código:

    “`javascript
    let clicked = false;
    let obj_db = [];

    // evento de clic del botón
    document.getElementById(“myButton”).addEventListener(“click”, function() {
    let obj_list = [0.3, 2.32, 1.22]; // asumiendo que estos son los datos devueltos
    if (!clicked) { // primera vez que se presiona el botón
    clicked = true;
    obj_db = obj_list.map(num => Math.round(num * 100) / 100); // multiplicar y redondear a 2 decimales
    } else { // el botón ha sido presionado antes
    obj_db.forEach((num, index) => {
    obj_db[index] = Math.round(num * obj_list[index] * 100) / 100; // multiplicar y redondear a 2 decimales
    });
    obj_list = obj_list.map(num => Math.round(num * 100) / 100); // actualizar obj_list con los valores redondeados
    obj_db = obj_db.map((num, index) => Math.round((num + obj_list[index]) * 100) / 100); // sumar y redondear a 2 decimales
    }
    });

    Tenga en cuenta que esta es solo una posible solución y puede necesitar adaptarse para adaptarse a su caso de uso específico.

Comments are closed.