[Python] filtrare ai margini

Manlio Perillo manlio.perillo a gmail.com
Gio 19 Set 2013 10:49:35 CEST


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 19/09/2013 01:03, Vittorio Spina wrote:
> Il 19/09/2013 00:49, Valerio Maggio ha scritto:
>> On Thursday, September 19, 2013, Vittorio Spina wrote:
>> 
>> ciao, che sappiate esiste un modo pi elegante per evitare quello
>> che segue? x = UnCertaFunzioneCheRitornaINT() if x>67: x=67 if
>> x<-67: x=-67
>> 
>> 
>> from math import copysign
>> 
>>>> x = get_value_of_X() if not -67 < x < 67:
>> ...      x = copysign(67,x)
>> 
>> Che ne dici? !-)
> Non male, ma speravo in un miracolo pythonesco del tipo
> 
> x = min_max(-67,67,UnCertaFunzioneCheRitornaINT())
> 

Non vedo nulla di pythonesco o miracoloso.
Semplicente ti basta definire questa funzione, ed usarla.

> colpo secco in una riga...

def clamp(x, min, max):
        if x < min:
           return min
        elif x > max:
           return max
        else:
           return x

x = clamp(x, -67, 67)


Le funzioni definite dall'utente e con lexical scoping sono
disponibili da Algol 60 (1960) (visto che parli di miracoli...)


> [...]


Ciao  Manlio
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iEYEARECAAYFAlI6up8ACgkQscQJ24LbaUSh3gCeNftn3hz0JStdECCAEjTDRjyV
5IwAoJFKHMgaCrx59Pu0BQCAWnRo4RsR
=+ldr
-----END PGP SIGNATURE-----


Maggiori informazioni sulla lista Python