Aprenent Python Fixant en memòria

45 Conversor

Il·lustrem com utilitzar un codi per tal de convertir segons a hores i minuts.

#!/usr/bin/env python
num=int(input("Introdueix el nombre en segons\n"))
ho=(int(num/3600))
minu=int((num-(ho*3600))/60)
seg=num-((ho*3600)+(minu*60))
print(str(ho)+"h "+str(minu)+"m "+str(seg)+"s")

Entrada

$ Introduexi el nombre en segons
123456

Eixida

34h 17m 36s

44 Binari

Conversió de dades decimals a dades binàries

>>> bin(81)
'0b1010001'

Conversió de dades binàries a decimals

>>> int('1010001', 2)
81

43 Sys

Per saber quin sistema corres des de Python cal escriure aquest codi i córrer-lo deprés.

Codi

>>> import platform
>>> if platform.system() == "Windows":
...     print("Tens Windows")
... elif platform.system() == "Linux":
...     print("Tens Linux")
... 
Tens Linux

Explicació

  1. Importem el mòdul platform.
  2. Utilitzem la programació condicional de foma senzilla if voldrà dir si, elif en cas contrari si…

Font: Optimizar, sin más

42 TextWrap

Objectiu: formatar un text d’eixida amb un ample de columnes determinat.

Codi

>>> import textwrap
>>> doc = ''' El método wrap() es como fill(), excepto que devuelve
... ... una lista de strings en lugar de una gran string con saltos de
... ... línea como separadores.'''
>>> print(textwrap.fill(doc, width=80))
 El método wrap() es como fill(), excepto que devuelve ... una lista de strings
en lugar de una gran string con saltos de ... línea como separadores.
>>> print(textwrap.fill(doc, width=40))
 El método wrap() es como fill(),
excepto que devuelve ... una lista de
strings en lugar de una gran string con
saltos de ... línea como separadores.

Explicació

  1. Importem el modul textwrap per tal que ens deixe extraure el format de text quan invoquem aquest text.
  2. Introduïm el text mitjançant una variable string, doc = El método ....
  3. Invoquem la impressió per pantalla del text en 80 columnes: print(textwrap.fill(doc, width=80)).
  4. Invoquem la impressió per pantalla del text en 40 columnes: print(textwrap.fill(doc, width=40)).

Font: Tutorial Python Argentina 3.5.1 12.1. Formato de Salida

41 Format

1. Presentar les dades amb format

1.1. Codi

>>> import math
>>> print('Nombre pi amb dos decimals {0:.3f}.'.format(math.pi))

1.2. Eixida

Nombre pi amb dos decimals 3.142.

1.3. Explicació

  1. Importem el mòdul math import math
  2. Imprimim des del primer nombre {0: } fins a tres decimals {0:.3f}
  3. Invoquem el valor de pi math.pi dins del format especificat prèviament.

2. Presentar dades en una tabla

2.1. Codi

>>> tabla = {'Pere': 000000000, 'Joan': 111111111, 'Andreu': 222222222}
>>> for nombre, telefono in tabla.items():
...     print('{0:10} ==> {1:10d}'.format(nombre, telefono))

2.2. Eixida

Pere       ==>          0
Joan       ==>  111111111
Andreu     ==>  222222222

2.3. Explicació

  1. Creem un diccionari anomenat tabla.
  2. Creem dues variables: nombre i telefon.
  3. Les imprimim amb format de nombres de 9 caracters i de telefon fins a 9 nombres.
  4. {1:10d} Aquest format fa referència a que es mostraran els caracters de l'1 al 10 i el format d vol dir que serà un nombre senser o integer.

Fonts

  1. Format Especification Python
  2. Format de caracters. PyObject * PyBytes_FromFormat