Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


fondamenti di programmazione con python, Schemi e mappe concettuali di Elementi di Informatica

fondamenti di programmazione con python

Tipologia: Schemi e mappe concettuali

2022/2023

Caricato il 12/04/2026

giuseppe-inserra-4
giuseppe-inserra-4 🇮🇹

2 documenti

1 / 13

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
PYTHON
Shell vs editor: apri IDLE poi file -> o crei nuovo file da programmare o fai
open e apri un file python scaricato (non si può aprire il file py scaricato
direttamente)
Colori: viola per le funzioni built-in, verde per le stringhe, blu per gli output
(risultati di funzione) e rosso per gli errori
Argomenti con la virgola se li colleghi con la virgola in caso di non print ma
assegnazione te la chiude tra parentesi, devi usare + concatena
Operazioni con le stringhe: + per il concatenamento * per le ripetizioni
(dentro il print) -> a volte conviene usare il + invece che la virgola perché la
virgola genera uno spazio automatico tra le stringhe
'' e "" indifferenti a meno di stringhe con dentro altri apici allora '' fuori e ""
dentro o per ' nelle frasi; Codici di escape: quando hai entrambe ' e " separi
la frase in due stringhe oppure \' (\ accanto all’apostrofo), \\ per scrivere \
\n testo a capo (dentro le virgolette)
\t tabulazione (dentro le virgolette)
Variabile: è nome che rappresenta un valore, = è assegnazione (es.
Cognome='rossi')
a,b,c = 50,60,70 assegnazione multipla, legge del LEGB local enclosing
global built-in
- Nomi Variabili semplici brevi, deve iniziare con lettera, diversi dalle parole
chiave, no spazi e no caratteri speciali, si possono riassegnare allo stesso
modo; aggiornamento a = a + 1;
(tecnicamente si possono usare nomi funzioni tipo print ma meglio evitare)
FUNZIONI BUILT-IN:
Operazioni base +, - , * , /, // (dà intero numero intero), % (dà il resto di una
divisione), ** (potenza)
-) print () serve per far scrivere cose (arg"", sep='', end='')
-) help ()
-) type () dice cosa è (str, int, float per i decimali, bool valori true false) serve
per rendere i dati nel giusto formato Funzioni int, float, str e bool
convertono cose nei formati
-) input ('cosa far vedere') quando esegui ti dà l'opzione di immettere dati
-) format (numero, ‘.2f’) arrotonda numero a due decimali, se metto ‘.2%’
moltiplica per cento e fa uscire il simbolo % alla fine, con virgola separatore
migliaia ‘,.2f’ oppure ‘,d’ se vuoi intero, ‘b’, binario, ‘E’ notazione scientifica
-) sum (numero, numero) fa la somma
-) pow (numero, numero) fa la potenza con base il primo numero
-) abs (numero) valore assoluto
-) round (numero, 2) arrotonda il numero ai decimali del secondo numero
-) max e min (numero, numero, numero) trova max e min
Libreria Standard (da importare con import ma comunque installata) Vs
Libreria Importata (importata da qualcun altro)
>>>import math -> math.sqrt,
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Anteprima parziale del testo

Scarica fondamenti di programmazione con python e più Schemi e mappe concettuali in PDF di Elementi di Informatica solo su Docsity!

PYTHON

Shell vs editor : apri IDLE poi file -> o crei nuovo file da programmare o fai open e apri un file python scaricato (non si può aprire il file py scaricato direttamente) Colori : viola per le funzioni built-in, verde per le stringhe, blu per gli output (risultati di funzione) e rosso per gli errori Argomenti con la virgola  se li colleghi con la virgola in caso di non print ma assegnazione te la chiude tra parentesi, devi usare + concatena Operazioni con le stringhe : + per il concatenamento * per le ripetizioni (dentro il print) -> a volte conviene usare il + invece che la virgola perché la virgola genera uno spazio automatico tra le stringhe '' e "" indifferenti a meno di stringhe con dentro altri apici allora '' fuori e "" dentro o per ' nelle frasi; Codici di escape : quando hai entrambe ' e " separi la frase in due stringhe oppure ** ' (\ accanto all’apostrofo), \ per scrivere \n testo a capo (dentro le virgolette) \t tabulazione (dentro le virgolette) Variabile : è nome che rappresenta un valore, = è assegnazione (es. Cognome='rossi') a,b,c = 50,60,70 assegnazione multipla, legge del LEGB local enclosing global built-in

  • Nomi Variabili semplici brevi, deve iniziare con lettera, diversi dalle parole chiave, no spazi e no caratteri speciali, si possono riassegnare allo stesso modo; aggiornamento a = a + 1; (tecnicamente si possono usare nomi funzioni tipo print ma meglio evitare) FUNZIONI BUILT-IN : Operazioni base +, - , * , /, // (dà intero numero intero), % (dà il resto di una divisione), ****** (potenza) -) print ()  serve per far scrivere cose ( arg "", sep ='', end ='') -) help () -) type () dice cosa è ( str , int , float per i decimali, bool valori true false) serve per rendere i dati nel giusto formato  Funzioni int, float , str e bool convertono cose nei formati -) input ('cosa far vedere')  quando esegui ti dà l'opzione di immettere dati -) format (numero, ‘.2f’)  arrotonda numero a due decimali, se metto ‘.2%’ moltiplica per cento e fa uscire il simbolo % alla fine, con virgola separatore migliaia ‘,.2f’ oppure ‘,d’ se vuoi intero, ‘b’, binario, ‘E’ notazione scientifica -) sum (numero, numero)  fa la somma -) pow (numero, numero)  fa la potenza con base il primo numero -) abs (numero)  valore assoluto -) round (numero, 2)  arrotonda il numero ai decimali del secondo numero -) max e min (numero, numero, numero)  trova max e min Libreria Standard (da importare con import ma comunque installata) Vs Libreria Importata (importata da qualcun altro) >>> import math -> math.sqrt ,

>>> import random -> random.random() , random.randint(1,10) , random.choice(lista) , random.shuffle(lista) per mischiare una lista dir + libreria dà lista delle funzioni della libreria - dir (builtins)  lista delle built-in

ISTRUZIONI DI CONTROLLO DEL FLUSSO

If condizione: Istruzione Istruzione  Else : Istruzione Istruzione La condizione è un’ espressione booleana (dà risultati True False)

  • == per uguale
  • != per diverso
  • >, <, >=, <= per disuguaglianza  Elif : Istruzione Istruzione Elif equivale a else if per complicare le if Dopo Elif alla fine si mette un Else per tutti gli altri casi (if-elif-else) Istruzioni che si usano con le istruzioni di controllo : And : es. x > y and a < b (vera se entrambe vere) Or : x == y or x == z (vera se almeno una è vera) Not (): not (x > y) (dà False se è vera e True se è falsa) In [] : if rain in [‘Sì’, ‘si’, ‘sì’] (per dare una lista di risposte accettabili dell’if) Range (start, stop, step): if num in range (2, 8, -1) (riporta una lista di valori numerici accettabili dell’if, se metti un solo numero parte da 0 fino a quel numero, step -1 va all’indietro, il secondo numero ovvero limite superiore sempre escluso, solo interi)

STRUTTURE ITERATIVE :

While condizione: Istruzione Istruzione While permette di eseguire un’istruzione finché una condizione è vera ( while not = finché non) Di solito la variabile deve essere inizializzata (tipo all’inizio fai partire x = 1 e poi metti una condizione, e poi la fai andare avanti alla fine x = x + 1)

  • Es. while var == ‘s’ e poi alla fine metti istruzione var = input (‘se vuoi continuare scrivi s’)
  • Es. while True è il while infinito che esegue fino a quando non c’è un if break (non richiede inizializzazione variabile)  For var in []: Istruzione Istruzione For permette di eseguire un ciclo per un numero determinato di valori (spesso usata con in range ), non ha bisogno di definire la variabile per rieseguire Istruzioni che si usano con le strutture iterative :
  • Per capire qual è l’errore esegui il programma nella shell senza try e except e vedi cosa esce come errore Syntax Error : errore di sintassi scrittura del codice Type Error : funzione applicata ad un tipo di dato sbagliato (dividere stringa per numero, oppure non metti tutti i parametri in una funzione perché se non definisci il type è indefinito) Value Error : funzione argomento valido ma valore non valido (int(stringa)) Name Error : variabile non assegnata Zero Division Error : divisione per 0

SEQUENZE

Oggetti che contengono dati uno dopo l’altro Le sequenze sono iterabili , possono essere mutabili (liste) o immutabili (stringhe, tuple), la loro posizione è indicata da un numero detto indice , utilizzano funzioni per lavorare sui dati

- STRINGHE: sequenza di caratteri alfanumerici immutabile Nome_str[2]= dà il secondo carattere della stringa  ATTENZIONE: parte da 0 ATTENZIONE: **str1 in str2 dà True quando str1 è contenuta (sottostringa) di str

  • LISTE:** raccolta di dati tra parentesi quadre e separati da virgole Possono essere assegnate a variabili, possono essere vuote, possono essere nidificate, può essere composta da type diversi (da evitare per mutabilità), si possono creare con la built-in list (‘ciao’)  [‘c’, ’i’, ’a’, ’o’] o list (range(4))  [0, 1, 2, 3] Mutabilità: Se faccio nome_list[3] = 20 allora cambierà il carattere 3 partendo da 0 in 20 - TUPLE: molto simili alle liste ma immutabili, in genere parentesi tonde Si può creare con la built-in tuple (‘ciao’)  (‘c’, ‘i’, ‘a’, ‘o’) Indexing : ogni carattere identificato con un numero, nome_lista[2] richiama il secondo carattere, bisogna ricordare che parte da 0, l’ultimo elemento è -1 e poi si va all’indietro (per richiamare dalla fine quando non si sa la lunghezza)  da dietro parte da -1 e non da 0 Slicing : selezionare più di un elemento in una sequenza, nome_lista[indice_iniziale:indice_finale:step] con iniziale incluso e finale escluso
  • se non metto finale va automaticamente fino in fondo
  • per scrivere la stringa al contrario s[::-1]

STRINGHE

.capitalize() = mette la maiuscola alla prima lettera, accetta riassegnazione .lower e .upper si riassegnano .count(sub) conta quante volte occorre la sottostringa .find (cosa da trovare, a partire da dove cercare(index)) stringa .find(parola ) dà come indice la prima lettera della parola

in () = dà True se un elemento è nella sequenza se no False (es. 2 in b; ‘a’ in b) len () = dà numero elementi di una sequenza max () e min () = trova il valore massimo e minimo (anche con stringhe usando l’alfabeto) sorted () = dà una lista con elementi in ordine crescente (anche con stringhe usando l’alfabeto)

  • Alfabeto mette in ordine lettere di una stringa, nel caso di più stringhe in una sequenza ordina le stringhe, mette prima le maiuscole (case- sensitive) non solo per la stessa lettera ma in generale ‘Z’ sta prima di ‘a’ sum () = somma i numeri di una sequenza (solo numeri, se ha stringhe dà Type Error)

DIZIONARI

Oggetti che contengono collezione di dati o elementi, composti da chiave (univoca e immutabile) e valore (qualsiasi tipo di dato mutabile o immutabile) –- es. rubrica in cui la chiave è il nome e il valore è il numero di telefono, troviamo con la chiave ma poi vogliamo il valore associato

  • Elementi in parentesi graffe {} e separate da virgole; ogni elemento ha una chiave poi due punti : e valore associato
  • Funzione dict () crea dizionari vuoti Carta_identità = {‘nome’ : ‘Andrea’, ‘cognome’ : ‘Andrea’}
  • Per identificare o riassegnare i valori del dizionario: Nome_dizionario [chiave] = {valore}
  • Il dizionario è mutabile e riassegnabile Operazioni con i dizionari: in nome_dizionario = permette di vedere se una chiave è in un dizionario del nome_dizionario = rimuove coppia chiave-valore da un dizionario len nome_dizionario = numero coppie chiave-valore del dizionario (len(mydict) dà il numero di coppie) Metodi per i dizionari: Mettere o togliere nel o dal dizionario . get (chiave) dà il valore associato alla chiave specificata, se non c’è dà None, se metti chiave, ‘qualcosa’ nel caso in cui non ci sia la chiave dà ‘qualcosa’ . pop (chiave) rimuove la chiave specificata e rimuove e restituisce il valore associato, se non c’è la chiave e non usi chiave, ‘qualcosa’ allora dà KeyError . popitem () rimuove l’ultima chiave-valore aggiunta e restituisce una tupla con entrambi Vedere cosa c’è nel dizionario . items () crea una roba dict_items con tuple con dentro le coppie chiave-valore ma non stampa
  • for x,y in mydict.items() prende tutte le chiavi e tutti i valori associati . keys () crea una roba dict_keys con lista di chiavi ma non stampa . values () crea una roba dict_values con lista di valori ma non stampa
  • os.chdir (percorso): cambia la cartella di lavoro corrente con quella specificata in percorso
  • os.rename (percorso.old,percorso.new): rinomina file o cartelle da old a new (tra virgolette entrambi, devono essere i percorsi no i nomi dei file)
  • for stringa in os.listdir(path): percorso = os.path.join (path, stringa) if os.path.isfile(percorso) print (percorso) dà elenco elementi di ogni cartella
  1. random  per gestire la randomizzazione
  • random.random (): numero tra [0,1)
  • random.randint (a, b): numero tra [a,b]
  • random.choice (lista): elemento casuale della lista
  • random.randrange (min, max, step): restituisce numero causuale intero tra min e max con max escluso con passo pari a step
  1. webbrowser  per aprire pagine web dal browser di default
  • webbrowser.open (url, new=0): Visualizza la pagina web disponibile all'indirizzo url utilizzando il browser predefinito. Se new è 0, l'url viene aperto nella stessa finestra del browser, se possibile. Se new è 1, viene aperta una nuova finestra del browser, se possibile. Se new è 2, viene aperta una nuova pagina del browser ("scheda") Cmd.exe e prompt comandi, pip install modulo

TURTLE

import turtle mycrayon = turtle.Turtle()

- Metodi per disegnare: mycrayon.forward(distanza) vai avanti mycrayon.backward(distanza) vai indietro mycrayon.left(gradi) gira a sinistra mycrayon.right(gradi) gira a destra - Disegnare quadrato di lato 100: for i in range(4): mycrayon.forward(100) mycrayon.left(90) - Metodi per muovere lo strumento: mycrayon.up() alza e non disegna mycrayon.down() abbassa e disegna quando si sposta mycrayon.goto(x,y) sposta senza disegnare mycrayon.speed(n da 1 a 10) velocità di disegno turtle.clearscreen() cancella tutto

  • Metodi grafici: mycrayon.pencolor(colore in inglese) cambia colore mycrayon.width(spessore) imposta spessore in pixel mycrayon.fillcolor(colore in inglese) mette colore dentro le forme  per utilizzarlo bene usa mycrayon.begin_fill() prima di fare la figura e mycrayon.end_fill() alla fine
  • Metodo sfondo: mycanvas = turtle.Screen() e mycanvas.bgcolor(colore in inglese) cambia sfondo

def IMC(self): imc = self.peso /(self.altezza/100)** return imc uso il self per richiamare i valori assegnati prima A questo se printo persona1.IMC() dà il valore dell’imc Metodo str(self): assegna ciò che viene restituito da print se metto dentro un oggetto della classe Sottoclassi – si mette la classe principale nelle parentesi in class  EREDITARIETA’ Comandi universali utilizzabili su più classi (copia e incolla)  POLIMORFISMO