Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/08/2015, 03:45
dehm
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 14 años, 1 mes
Puntos: 10
Cómo hacer esta comprobación en python

Hola:

Decir que en python ando muy pez. El caso es que estoy pasando un programa de Qt/C++ a PyQt, y me encuentro con que tengo un conflicto en esta sentencia:

La pongo primero en C++:

Código C++:
Ver original
  1. if (lineEditS2->text().toFloat()<lineEditS1->text().toFloat() && !lineEditS1->text().isEmpty())

Lógicamente yo evalúo la primera parte :
Código C++:
Ver original
  1. lineEditS2->text().toFloat()<lineEditS1->text().toFloat()
y su resultado (true o false) lo concateno con el true/false de la segunda parte:
Código C++:
Ver original
  1. !lineEditS1->text().isEmpty()

Es decir, que mi sentencia es un true/false && true/false

Hago esta explicación tan innecesaria porque cuando traduzco a python, de esta forma:
Código Python:
Ver original
  1. if (float(self.ui.lineEditS1.text()) < float(self.ui.lineEditS2.text())) and self.ui.lineEditS2.text()

el intérprete se me queja de que no puede convertir string a float, por lo que deduzco que no hace lo que yo quiero (más bien al revés, yo no consigo que python evalúe la primera parte y luego la concatene con la segunda). Al menos esa es la interpretación de lo que pienso que está pasando.
He puesto entre paréntesis la primera parte por si acaso, pero nada. El error es:

ValueError: could not convert string to float:

Muchas gracias por adelantado.
__________________
Mi calculadora en Qt