---
title: ASIX1 M03. Python cookbook
tags: asix, programació
---
<div style="width: 30%; margin-left: auto;">

</div>
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Llicència de Creative Commons" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />Aquesta obra està subjecta a una llicència de <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Reconeixement-CompartirIgual 4.0 Internacional de Creative Commons</a>
# ASIX1 M03: Python cookbook
[vincle a font en MarkDown](https://hackmd.io/OV74Q59BSNmpJMNkhQwpIg)
## ·:: Creació d'un programa en Python ::·
---
### Barebone o la estructura mínima recomanada.
Desar aquest troç de codi en un fitxer i utilitzar com a plantilla al crear qualsevol programa.
```python=
#!/usr/bin/python3 #-> Capçalera on li diem quin és l'intèrpret.
"""
Barebone o la estructura mínima recomanada.
#-> Abans d'utilitzar, esborrar tots els comentaris que comencin amb: '#->'
#-> Comentari multilínia on expliquem somerament què fa el programa.
"""
__author__ = "Xavi Quesada" #-> Qui ha creat el programa.
#-> A partir d'aquí el codi
```
### Barebone per a utilitzar doctest.
Tot i que encara no sabem utilitzar funcions per a estructurar el nostre codi, podem tenir un barebone amb una funció principal *'pre-fabricada'* que ens permeti utilitzar les capacitats de doctest per a provar el nostre programa.
```python=
#!/usr/bin/python3 #-> Capçalera on li diem quin és l'intèrpret.
# _*_ coding: utf-8 _*_ #-> Indicació de la codificació utilitzada al fitxer
"""
Barebone o la estructura mínima recomanada.
#-> Abans d'utilitzar, esborrar tots els comentaris que comencin amb: '#->'
#-> Comentari multilínia on expliquem somerament què fa el programa.
"""
__author__ = "Xavi Quesada" #-> Qui ha creat el programa.
def main():
#-> aquí el nostre codi
pass
if __name__ == "__main__":
main()
```
### Variables.
1. Donar noms descriptius.
2. Intentar que comencin per lletres minúscules.
3. Separar les paraules amb caracter de subratllat (barra baja) '_'.
4. Recordem que són sensibles a majúscules/minúscules (case sensitive).
#### Creació de variables.
```python=
es_par = True
color_del_fons = "#A455FE"
hipotenusa = 23.5
comptador = 4
alumnes = ["Alicia", "Guiem"]
alt, llarg, fons = 45, 23, 13
```
## ·:: Condicionals. Presa de decisions ::·
Prenem decisions amb l'estructura '**if: ... else:**'
### Realitzar o no una acció:
```python=
if saludar:
print("Hola mundo!")
```
### Triar entre 2 possibilitats
```python=
if es_parell:
print("El nombre és divisible entre 2.");
else:
print("No podem dividir aquest nombre entre 2.");
```
### Triar entre varies possibilitats
```python=
if diferencia >= 100:
bitllets_de_100_entregats = bitllets_de_100_entregats + 1
elif diferencia >= 50:
bitllets_de_50_entregats = bitllets_de_50_entregats + 1
elif diferencia >= 20:
bitllets_de_20_entregats = bitllets_de_20_entregats + 1
elif diferencia >= 10:
bitllets_de_10_entregats = bitllets_de_10_entregats + 1
else:
print("Canvi entregat.");
```
## ·:: Bucles. Repetir accions ::·
### Repetir sense saber quantes vegades ho faré.
```python=
while tinc_gana:
print("Prenc una cullerada de sopa.")
tinc_gana = tinc_gana -1
```
### Repetir coneixent el nombre de vegades amb anterioritat.
#### Un nombre predeterminat.
```python=
quantitat = 5;
for iteracio in range(quantitat):
print(f"{iteracio} vegades")
```
#### Entre dos nombres concrets.
```python=
inici, final = 5, 20; # Final no inclós.
for iteracio in range(inici, final):
print(f"{iteracio} -> fem-ho!")
```
#### Entre dos nombres concrets i definint el tamany de pas (salt de granota).
```python=
inici, final, salt = 5, 20, 2; # Final no inclós.
for iteracio in range(inici, final, salt):
print(f"{iteracio} -> fem-ho!")
```
Output:
```bash=
'5 -> fem-ho!'
'7 -> fem-ho!'
'9 -> fem-ho!'
'11 -> fem-ho!'
'13 -> fem-ho!'
'15 -> fem-ho!'
'17 -> fem-ho!'
'19 -> fem-ho!'
```
#### Un cop per a cada el·lement d'una llista.
```python=
fruites_que_magraden = ["poma", "cirera", "prèssec", "mango", "síndria"]
for fruita in fruites_que_magraden:
print(f"{fruita}, I love it!")
```
#### Combinar dues llistes recorrent tots els seus el·lements.
```python=
fruites_que_magraden = ["poma", "cirera", "prèssec", "mango", "síndria"]
cremes_o_salses_que_magraden = ["nata", "ketchup", "crema catalana", "dulce de leche"]
for fruita in fruites_que_magraden:
for crema in cremes_o_salses_que_magraden:
print(f"{fruita} amb {crema}, I love it!")
```
Aquest script te com a sortida:
```bash=
$ python3 barreja_cremes_amb_fruites.py
> poma amb nata, I love it!
> poma amb ketchup, I love it!
> poma amb crema catalana, I love it!
> poma amb dulce de leche, I love it!
> cirera amb nata, I love it!
> cirera amb ketchup, I love it!
> cirera amb crema catalana, I love it!
> cirera amb dulce de leche, I love it!
> prèssec amb nata, I love it!
> prèssec amb ketchup, I love it!
> prèssec amb crema catalana, I love it!
> prèssec amb dulce de leche, I love it!
> mango amb nata, I love it!
> mango amb ketchup, I love it!
> mango amb crema catalana, I love it!
> mango amb dulce de leche, I love it!
> síndria amb nata, I love it!
> síndria amb ketchup, I love it!
> síndria amb crema catalana, I love it!
> síndria amb dulce de leche, I love it!
```
## ·:: Obtenció de paràmetres ::·
### Demanant-li a l'usuari: input()
#### Demanant valors individuals.
```python=
nom_usuari = input("Introdueix un el teu nom ")
nombre_nat = int(input("Introdueix un nombre natural ")) # Conversió a enter
nombre_real = float(input("Introdueix un nombre real ")) # Conversió a real en representació de coma flotant
```
#### Demanant una llista de valors.
```python=
nom_individual = None
llista_de_noms = []
while nom_individual != ""
nom_individual = input("Introduiu els vostres noms o res pes a finalitzar>")
if nom_individual != "":
llista_de_noms.append(nom_individual)
print(llista_de_noms)
```
### Llegint els paràmetres de la línia de comandes.
```python=
import sys #-> No oblidar la importació de la llibreria de sistema.
print(f"Hi ha {len(sys.argv) - 1} paràmetres disponibles.")
print(f"Primer paràmetre {sys.argv[1]}")
print(f"Segon paràmetre {sys.argv[2]}")
print(f"Nom del programa {sys.argv[0]}")
```