Article View: es.comp.os.linux.programacion
Article #7584Re: Operaciones matematicas python y bash
From: MaInAke
Date: Mon, 17 Feb 2003 09:50
Date: Mon, 17 Feb 2003 09:50
71 lines
3368 bytes
3368 bytes
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El Mon, 17 Feb 2003 08:45:55 +0000 (UTC), Ear3ndil expon�a en su mensaje: > Hola a todos. > > Tengo un peque�o script en bash que estoy intentando convertir a python y > resulta que llego a un punto en el que me quedo tirado. El punto en > cuesti�n es una operaci�n mat�matica, tal como esta: > > var=`echo "256 / (608 / 384)" | bc -l` > > El resultado de esta operaci�n es: > > 161.68421052631578947402 Ese es el recustado correcto > > Mirando en el man del bc, este comenta que con -l se carga la libreria > mathlib por defecto y causa un efecto de scale=20. Eso, a parte de dar > salida a 20 decimales (161.(20decimales)) no me explica el porque de la > diferencia del resultado, pero bien. > Pues yo creo que si la explica perfectamente. Si no le pones -l, bc parece que trabaja con numeros enteros, por lo que /home/mainake-> bc bc 1.06 Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 608/384 1 Como ves el resultado no es el correcto, por eso luego te da como resultado final 256 > El caso es que no he sabido encontrar ninguna forma de pasarle a la > operaci�n en python alg�n par�metro equivalente que me de el mismo > resultado que la operaci�n en bash con el bc -l. �Alguien ha tenido alguna > vez el mismo problema? �Alguien sabe realmente lo que hace el -l al bc a > parte de a�adir 20 decimales? La verdad es que no se por donde tirarle... > Eso es facil :) Para que python considere las cantidades como reales, en lugar de enteras puedes hacerlo asi /home/mainake-> python Python 2.1.3 (#1, Sep 7 2002, 15:29:56) [GCC 2.95.4 20011002 (Debian prerelease)] on linux2 Type "copyright", "credits" or "license" for more information. >>> print 256.0/(608.0/384.0) 161.684210526 - -- Mainake <mainake@escomposlinux.org> Debian 3.0 (Woody) --- Usuario Linux registrado n�: 90215 PGP Pub Key en pgp.escomposlinux.org ID:0x68EB97FD -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.0 (GNU/Linux) iD8DBQE+ULBtwanSomjrl/0RAsfxAJ9O3YmIP3Mv3viVyv0EkMo0bNX4ZQCgo9YP jjzSsNWLC7U8zTbhkPaEZMA= =uus4 -----END PGP SIGNATURE-----
Technical Details
Message-ID:
<slrnb51c3b.tl.mainake@atolon.linux.es>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!nntp.cs.ubc.ca!nntp-relay.ihug.net!ihug.co.nz!news.linkpendium.com!news-xfer.cox.net!mainake.escomposlinux.org!not-for-mailReferences:
<b2q7g3$hhc$1@nazgul.local>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,ff3541aeb831d627 X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2003-02-17 01:50:48 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!nntp.cs.ubc.ca!nntp-relay.ihug.net!ihug.co.nz!news.linkpendium.com!news-xfer.cox.net!mainake.escomposlinux.org!not-for-mail From: MaInAke <mainake@escomposlinux.org> Newsgroups: es.comp.os.linux.programacion Subject: Re: Operaciones matematicas python y bash Date: Mon, 17 Feb 2003 09:50:38 +0000 (UTC) Organization: Ecolnet Lines: 71 Message-ID: <slrnb51c3b.tl.mainake@atolon.linux.es> References: <b2q7g3$hhc$1@nazgul.local> Reply-To: mainake@escomposlinux.org NNTP-Posting-Host: atolon.linux.es Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: rantanplan.linux.es 1045475438 5944 192.168.66.1 (17 Feb 2003 09:50:38 GMT) X-Complaints-To: usenet@mainake.escomposlinux.org NNTP-Posting-Date: Mon, 17 Feb 2003 09:50:38 +0000 (UTC) User-Agent: slrn/0.9.7.4 (Linux)