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")