2010-03-11 5 views

Respuesta

8

Claro, sólo formato a los flotadores con un formato razonable, basado en su conocimiento de qué precisión se espera que ellos exhiben - por ejemplo, si se espera una precisión de 2 dígitos después del punto decimal, se puede utilizar:

''' Rest of your docstring and then... 

    >>> '%.2f' % funcreturningfloat() 
    '123.45' 

''' 
8

The documentation tiene una sugerencia

números de coma flotante son también sujetos a pequeñas variaciones de salida a través de plataformas, porque Python se remite a la biblioteca plataforma C para float formateando, y las bibliotecas C varían ampliamente en calidad aquí . formato de cadena

>>> 1./7 # risky 
0.14285714285714285 
>>> print 1./7 # safer 
0.142857142857 
>>> print round(1./7, 6) # much safer 
0.142857 
1

permite tuplas prueba de uso.

>>> funcreturningfloattuple(1.0) 
(1.0, 1.0) 
>>> '%.2f, %.2f' % funcreturningfloattuple(1.0) 
'1.00, 1.00' 

>>> funcreturningfloattuple(1.4) 
(1.3999999999999999, 1.3999999999999999) 
>>> '%.2f, %.2f' % funcreturningfloattuple(1.4) 
'1.40, 1.40' 
5

Los siguientes obras para nosetests:

>>> 1/3. # doctest: +ELLIPSIS 
0.333... 
0

Usted puede utilizar numtest - una extensión doctest que simplifica la prueba de los resultados numéricos. https://pypi.python.org/pypi/numtest

>>> 1.0/3 
0.333 

ejemplo Error: 1,0/3 esperado: 0,333 conseguida: 0,3333333333333333

>>> 1.0/3 # doctest: +NUMBER 
0.333 

import doctest 
import numtest 
doctest.testmod() 

Proceso terminado con código de salida 0

Pasaron todas las pruebas. No necesita formato de cadenas en sus pruebas.

Cuestiones relacionadas