🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #7584

Re: Operaciones matematicas python y bash

#7584
From: MaInAke
Date: Mon, 17 Feb 2003 09:50
71 lines
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-mail
References: <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)