Diferència entre revisions de la pàgina «ASIX/M03/UF3/A01»

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca
m
 
(Hi ha 6 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
*[[M03/UF3/A01/PR1|Pràctica 1. Llibreries]]
+
[[Category:M03]]
 +
{{titol|PT1. Llibreries}}
 +
{{capcalera|Guillem Solà i Boeck|22}}
 +
==Ex1. Implementa l'exemple 1 de la teoria i executa'l==
 +
===fibonacci.py===
 +
<source lang='python'>
 +
def fib(n):
 +
#imprimeix per pantalla la sèrie fibonacci fins al terme "n"
 +
    a, b = 0, 1
 +
    while b < n:
 +
        print(b, end=' ')
 +
        a, b = b, a+b
 +
    print()
 +
 
 +
 
 +
def fib2(n):
 +
#Retorna la sèrie Fibonacci fins al terme "n"
 +
    result = []
 +
    a, b = 0, 1
 +
    while b < n:
 +
        result.append(b)
 +
        a, b = b, a+b
 +
    return result
 +
</source>
 +
 
 +
===exercici1.py===
 +
<source lang='python'>
 +
#importo la llibreria creada
 +
import fibonacci
 +
 
 +
#crido la funció ''fib'' amb paràmetre 1000
 +
fibonacci.fib(1000)
 +
 
 +
#imprimeixo el resultat de la funció ''fib2'' amb paràmetre 1000
 +
print(fibonacci.fib2(1000))
 +
 
 +
#imprimeixo el resultat del mètode ''__name__'' de la llibreria (retorna el nom d'aquesta)
 +
print(fibonacci.__name__)
 +
</source>
 +
 
 +
==Ex2. Busca per Internet 5 llibreries de python3 que puguin ser útils per a tu==
 +
===math===
 +
Afegeix funcionalitat amb operacions matemàtiques més complexes; encara que la llibreria cmath està preparada per a operacions més complexes.
 +
[https://docs.python.org/2/library/math.html Pàgina web]
 +
 
 +
===os===
 +
Ofereix una interfície per interactuar amb el sistema operatiu ja sigui amb comandes de terminal o altres funcions.
 +
[https://docs.python.org/2/library/os.html Pàgina web]
 +
 
 +
===random===
 +
Funcions relacionades amb generadors de números pseudo-aleatoris, escollir ítems aleatoris de llistes, etc.
 +
[https://docs.python.org/2/library/random.html Pàgina web]
 +
 
 +
===sys===
 +
Permet accedir a variables del propi entorn Python
 +
[https://docs.python.org/3.6/library/sys.html Pàgina web]
 +
 
 +
===datetime===
 +
Incorpora classes per a treballar amb formats de data i hora. Pot servir per a formatar variables com a dates i/o hores.
 +
[https://docs.python.org/3.6/library/datetime.html#module-datetime | Pàgina web]
 +
 
 +
==Ex3. On podries trobar les llibreries de python al teu sistema. Utilitza la llibreria sys i la variable sys.path==
 +
Per defecte, les llibreries es troben a <code>/usr/lib/pythonx.y</code> (en funció de la versió) i <code>/usr/lib64/pythonx.y</code> per a les llibreries de 64 bits
 +
 
 +
==Ex4. Realitzar un programa amb el següent menú==
 +
            SISTEMA DE DIAGNÒSTIC RÀPID DE FALLADES EN XARXA
 +
************************************************************************
 +
************ MENÚ ************
 +
1. eina PING
 +
2. eina TRACERT
 +
3. eina HOSTNAME
 +
4. eina IFCONFIG
 +
5. eina DNS
 +
6. eina GATEWAY
 +
 
 +
Per a poder realitzar el programa necessitarem la llibreria OS. No cal utilitzar funcions per a aquest programa
 +
 
 +
===exercici4.py===
 +
<source lang='python'>
 +
import os
 +
 
 +
opcio=0
 +
while opcio!=7:
 +
 
 +
    print("SISTEMA DE DIAGNÒSTIC RÀPID DE FALLADES EN XARXA")
 +
    print("*************************************************")
 +
    print("\nMENÚ")
 +
    print("****")
 +
    print("1. Eina PING")
 +
    print("2. Eina TRACERT")
 +
    print("3. Eina HOSTNAME")
 +
    print("4. Eina IFCONFIG")
 +
    print("5. Eina DNS")
 +
    print("6. Eina GATEWAY")
 +
    print("7. Sortir")
 +
 
 +
    opcio=eval(input("Tria una eina: "))
 +
    if opcio==1:
 +
        print("Faré 4 pings a www.google.com")
 +
        os.system("ping -c 4 www.google.com")
 +
    elif opcio==2:
 +
        print("Faré un traceroute a www.google.com")
 +
        os.system("traceroute www.google.com")
 +
    elif opcio==3:
 +
        print("El nom de host d'aquest sistema és")
 +
        os.system("hostname")
 +
    elif opcio==4:
 +
        print("Resultat de la comanda ifconfig:")
 +
        os.system("ifconfig -a")
 +
    elif opcio==5:
 +
        print("L'adreça IP de google.com és")
 +
        os.system("host google.com")
 +
    elif opcio==6:
 +
        os.system("ping -c 4 gateway")
 +
    elif opcio==7:
 +
        print("Fins aviat")
 +
    else:
 +
        print("opció incorrecta")
 +
</source>
 +
 
 +
==Ex5. Fent servir la llibreria datetime realitza l’exercici següent==
 +
Hora i dia actual:  2018-05-02 13:04:21.221194
 +
Hora i dia actual amb format:  18-05-02-13-04
 +
Any Actual:  2018
 +
Mes actual:  May
 +
Setmana de l'any:  18
 +
Dia de la setmana en número:  3
 +
Dia de l'any:  122
 +
Dia del mes:  02
 +
Dia de la setmana:  Wednesday
 +
 
 +
No cal utilitzar funcions per aquest programa.
 +
Per poder donar-li el format desitjat a datetime, hauràs de fer servir [https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior strtime]
 +
 
 +
Exemple:
 +
<code>datetime.date.today().strftime("%c"))</code>
 +
 
 +
===exercici5.py===
 +
<source lang='python'>
 +
import time
 +
 
 +
print("Hora i dia actual: %s" % time.strftime("%Y-%m-%d %H:%M:%S.%f"))
 +
print("Hora i dia actual amb format: %s" % time.strftime("%y-%m-%d-%H-%M"))
 +
print("Any actual: %s" % time.strftime("%Y"))
 +
print("Mes actual: %s" % time.strftime("%b"))
 +
print("Setmana de l'any: %s" % time.strftime("%W"))
 +
print("Dia de la setmana en número: %s" % time.strftime("%w"))
 +
print("Dia de l'any: %s" % time.strftime("%j"))
 +
print("Dia del mes: %s" % time.strftime("%d"))
 +
print("Dia de la setmana: %s" % time.strftime("%a"))
 +
</source>

Revisió de 14:12, 16 abr 2020


Guillem Solà i Boeck (host A10BPC22)

Ex1. Implementa l'exemple 1 de la teoria i executa'l

fibonacci.py

def fib(n):
#imprimeix per pantalla la sèrie fibonacci fins al terme "n" 
    a, b = 0, 1
    while b < n:
        print(b, end=' ')
        a, b = b, a+b
    print()


def fib2(n):
#Retorna la sèrie Fibonacci fins al terme "n"
    result = []
    a, b = 0, 1
    while b < n:
        result.append(b)
        a, b = b, a+b
    return result

exercici1.py

#importo la llibreria creada
import fibonacci

#crido la funció ''fib'' amb paràmetre 1000
fibonacci.fib(1000)

#imprimeixo el resultat de la funció ''fib2'' amb paràmetre 1000
print(fibonacci.fib2(1000))

#imprimeixo el resultat del mètode ''__name__'' de la llibreria (retorna el nom d'aquesta)
print(fibonacci.__name__)

Ex2. Busca per Internet 5 llibreries de python3 que puguin ser útils per a tu

math

Afegeix funcionalitat amb operacions matemàtiques més complexes; encara que la llibreria cmath està preparada per a operacions més complexes. Pàgina web

os

Ofereix una interfície per interactuar amb el sistema operatiu ja sigui amb comandes de terminal o altres funcions. Pàgina web

random

Funcions relacionades amb generadors de números pseudo-aleatoris, escollir ítems aleatoris de llistes, etc. Pàgina web

sys

Permet accedir a variables del propi entorn Python Pàgina web

datetime

Incorpora classes per a treballar amb formats de data i hora. Pot servir per a formatar variables com a dates i/o hores. | Pàgina web

Ex3. On podries trobar les llibreries de python al teu sistema. Utilitza la llibreria sys i la variable sys.path

Per defecte, les llibreries es troben a /usr/lib/pythonx.y (en funció de la versió) i /usr/lib64/pythonx.y per a les llibreries de 64 bits

Ex4. Realitzar un programa amb el següent menú

            SISTEMA DE DIAGNÒSTIC RÀPID DE FALLADES EN XARXA
************************************************************************
************ MENÚ ************
1. eina PING
2. eina TRACERT
3. eina HOSTNAME
4. eina IFCONFIG
5. eina DNS
6. eina GATEWAY

Per a poder realitzar el programa necessitarem la llibreria OS. No cal utilitzar funcions per a aquest programa

exercici4.py

import os

opcio=0
while opcio!=7:

    print("SISTEMA DE DIAGNÒSTIC RÀPID DE FALLADES EN XARXA")
    print("*************************************************")
    print("\nMENÚ")
    print("****")
    print("1. Eina PING")
    print("2. Eina TRACERT")
    print("3. Eina HOSTNAME")
    print("4. Eina IFCONFIG")
    print("5. Eina DNS")
    print("6. Eina GATEWAY")
    print("7. Sortir")

    opcio=eval(input("Tria una eina: "))
    if opcio==1:
        print("Faré 4 pings a www.google.com")
        os.system("ping -c 4 www.google.com")
    elif opcio==2:
        print("Faré un traceroute a www.google.com")
        os.system("traceroute www.google.com")
    elif opcio==3:
        print("El nom de host d'aquest sistema és")
        os.system("hostname")
    elif opcio==4:
        print("Resultat de la comanda ifconfig:")
        os.system("ifconfig -a")
    elif opcio==5:
        print("L'adreça IP de google.com és")
        os.system("host google.com")
    elif opcio==6:
        os.system("ping -c 4 gateway")
    elif opcio==7:
        print("Fins aviat")
    else:
        print("opció incorrecta")

Ex5. Fent servir la llibreria datetime realitza l’exercici següent

Hora i dia actual:  2018-05-02 13:04:21.221194
Hora i dia actual amb format:  18-05-02-13-04
Any Actual:  2018
Mes actual:  May
Setmana de l'any:  18
Dia de la setmana en número:  3
Dia de l'any:  122
Dia del mes:  02
Dia de la setmana:  Wednesday

No cal utilitzar funcions per aquest programa. Per poder donar-li el format desitjat a datetime, hauràs de fer servir strtime

Exemple: datetime.date.today().strftime("%c"))

exercici5.py

import time

print("Hora i dia actual: %s" % time.strftime("%Y-%m-%d %H:%M:%S.%f"))
print("Hora i dia actual amb format: %s" % time.strftime("%y-%m-%d-%H-%M"))
print("Any actual: %s" % time.strftime("%Y"))
print("Mes actual: %s" % time.strftime("%b"))
print("Setmana de l'any: %s" % time.strftime("%W"))
print("Dia de la setmana en número: %s" % time.strftime("%w"))
print("Dia de l'any: %s" % time.strftime("%j"))
print("Dia del mes: %s" % time.strftime("%d"))
print("Dia de la setmana: %s" % time.strftime("%a"))