separar por listas len imprimir funcion for español caracter arreglos python string-formatting

por - Formato de números a cadenas en Python



listas en python (7)

Comenzando en Python 2.6, hay una alternativa: el método str.format() . Aquí hay algunos ejemplos que usan el operador de formato de cadena existente ( % ):

>>> "Name: %s, age: %d" % (''John'', 35) ''Name: John, age: 35'' >>> i = 45 >>> ''dec: %d/oct: %#o/hex: %#X'' % (i, i, i) ''dec: 45/oct: 055/hex: 0X2D'' >>> "MM/DD/YY = %02d/%02d/%02d" % (12, 7, 41) ''MM/DD/YY = 12/07/41'' >>> ''Total with tax: $%.2f'' % (13.00 * 1.0825) ''Total with tax: $14.07'' >>> d = {''web'': ''user'', ''page'': 42} >>> ''http://xxx.yyy.zzz/%(web)s/%(page)d.html'' % d ''http://xxx.yyy.zzz/user/42.html''

Aquí están los fragmentos equivalentes pero usando str.format() :

>>> "Name: {0}, age: {1}".format(''John'', 35) ''Name: John, age: 35'' >>> i = 45 >>> ''dec: {0}/oct: {0:#o}/hex: {0:#X}''.format(i) ''dec: 45/oct: 0o55/hex: 0X2D'' >>> "MM/DD/YY = {0:02d}/{1:02d}/{2:02d}".format(12, 7, 41) ''MM/DD/YY = 12/07/41'' >>> ''Total with tax: ${0:.2f}''.format(13.00 * 1.0825) ''Total with tax: $14.07'' >>> d = {''web'': ''user'', ''page'': 42} >>> ''http://xxx.yyy.zzz/{web}/{page}.html''.format(**d) ''http://xxx.yyy.zzz/user/42.html''

Al igual que Python 2.6+, todas las versiones de Python 3 (hasta ahora) comprenden cómo hacer ambas cosas. Descaradamente arranqué estas cosas de mi libro de introducción de Python hardcore y las diapositivas para los cursos de Intro + Python Intermedio que ofrezco de vez en cuando. :-)

Necesito saber cómo formatear números como cadenas. Mi código está aquí:

return str(hours)+":"+str(minutes)+":"+str(seconds)+" "+ampm

Las horas y los minutos son enteros, y los segundos son un flotador. la función str () convertirá todos estos números al lugar de los décimos (0.1). Entonces, en lugar de que mi cadena produzca "5: 30: 59.07 p.m.", se mostraría algo así como "5.0: 30.0: 59.1 p.m.".

En resumen, ¿qué biblioteca / función necesito para hacer esto por mí?



En Python 2.6+, es posible utilizar la función format() , por lo que en su caso puede usar:

return ''{:02d}:{:02d}:{:.2f} {}''.format(hours, minutes, seconds, ampm)

Existen múltiples formas de utilizar esta función, por lo que para obtener más información puede consultar la documentation .



Puede usar siguiente para lograr la funcionalidad deseada

"%d:%d:d" % (hours, minutes, seconds)


Si tiene un valor que incluye un decimal, pero el valor decimal es insignificante (es decir: 100.0) y trata de int, obtendrá un error. Parece una tontería, pero llamar a float primero soluciona esto.

str (int (float ([variable])))


str () en python en un entero no imprimirá ningún lugar decimal.

Si tiene un flotador que quiere ignorar la parte decimal, entonces puede usar str (int (floatValue)).

Quizás el siguiente código demostrará:

>>> str(5) ''5'' >>> int(8.7) 8