python - professional - PyCharm: "Simplificar la comparación encadenada"
pycharm tutorial (4)
Tengo un valor entero x
, y necesito verificar si está entre los valores de start
y end
, así que escribo las siguientes afirmaciones:
if x >= start and x <= end:
# do stuff
Esta afirmación se subraya, y la información sobre herramientas me dice que debo
simplificar la comparación encadenada
Por lo que puedo decir, esa comparación es tan simple como vienen. ¿Qué me he perdido aquí?
En Python puede "encadenar" operaciones de comparación, lo que significa que son "y" ed juntas. En tu caso, sería así:
if start <= x <= end:
Referencia: https://docs.python.org/2/reference/expressions.html#comparisons
Esto se puede escribir como, que es lo que significa el IDE:
if start <= x and x <= end:
print ''x is greater than equal to start and less than equal to end''
Necesita agregar paréntesis
si x> = inicio y (x <= fin):
Se puede reescribir como:
start <= x <= end:
O:
r = range(start, end + 1) # (!) if integers
if x in r:
....