Python 3 per a no programadors/Usant mòduls
Creem un fitxer cal.py
import busca un fitxer amb el nom de calendar.py i el llegeix. Si el fitxer s'anomena calendar.py i veu un calendari per importar aleshores prova de llegir-ne el contingut.:
import calendar
year = int(input("Escriviu el número de l'any: "))
calendar.prcal(year)
I aquí hi ha part del resultat que s'obté:
Escriviu el número de l'any: 2001
2001
January February March
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7 1 2 3 4 1 2 3 4
8 9 10 11 12 13 14 5 6 7 8 9 10 11 5 6 7 8 9 10 11
15 16 17 18 19 20 21 12 13 14 15 16 17 18 12 13 14 15 16 17 18
22 23 24 25 26 27 28 19 20 21 22 23 24 25 19 20 21 22 23 24 25
29 30 31 26 27 28 26 27 28 29 30 31
(En aquest exemple no s'ha inclòs tot, però serveix per veure'n el funcionament) Aleshores, què fa el programa? La primera línia import calendar fa servir una nova ordre import. L'ordre import carrega un mòdul (en aquest cas el mòdul calendar). Les ordres disponibles per qualsevol dels mòduls estàndard es poden trobar a la biblioteca de referència per python (si l'heu descarregat) o anar a http://docs.python.org/library/. Llegint la documentació per al mòdul de calendari podem trobar una funció anomenada prcal que retorna el calendari per a un any concret. La línia calendar.prcal(year) utilitza aquesta funció. En resum, per fer servir un mòdul s'ha d'importar (import) i aleshores utilitzar module_name.function per les funcions del mòdul. Una altra forma d'escriure el programa és:
from calendar import prcal
year = int(input("Escriviu el número de l'any: "))
prcal(year)
Aquesta versió importa una funció específica d'un mòdul. Aquí hi ha un altre programa que fa servir la Biblioteca de Python (es pot anomenar com a clock.py) (premeu Ctrl+C a la vegada per aturar l'execució del programa):
from time import time, ctime
prev_time = ""
while True:
the_time = ctime(time())
if prev_time != the_time:
print("El dia i l'hora és:", ctime(time()))
prev_time = the_time
Alguns resultats com a exemple:
El dia i l'hora és: Sun Aug 20 13:40:04 2000
El dia i l'hora és: Sun Aug 20 13:40:05 2000
El dia i l'hora és: Sun Aug 20 13:40:06 2000
El dia i l'hora és: Sun Aug 20 13:40:07 2000
Traceback (innermost last):
File "clock.py", line 5, in ?
the_time = ctime(time())
KeyboardInterrupt
Els resultats són infinits, i per tant ho hem cancel·lat (continua fins que premem Ctrl+C). El programa simplement fa un bucle infinit (True sempre és veritat, per la qual cosa while True: continua funcionant sense aturar-se) i cada vegada comprova si l'hora ha canviat i escriu aquesta hora. Observeu com els noms múltiples després de la declaració d'importació es troben a la línia from time import time, ctime.
La Biblioteca de Python té diverses funcions útils. Aquestes funcions donen als vostres programes més possibilitats que poden simplificar la programació en Python.
Exercicis
[modifica]Torneu a escriure el programa high_low.py de la secció Decisions fent servir un nombre enter aleatori entre 0 i 99 en comptes del nombre per defecte "78". Feu servir la documentació de Python documentation per trobar el mòdul i la funció adients per fer-ho.
Solució
Torneu a escriure el programa high_low.py de la secció Decisions fent servir un nombre enter aleatori entre 0 i 99 en comptes del nombre per defecte "78". Feu servir la documentació de Python documentation per trobar el mòdul i la funció adients per fer-ho.
from random import randint
number = randint(0, 99)
guess = -1
while guess != number:
guess = int(input ("Digueu un número: "))
if guess > number:
print("Massa gran")
elif guess < number:
print("Massa petit")
print("És aquest")