









Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Una panoramica dei concetti fondamentali della programmazione in python, con un focus particolare sulle variabili, i tipi di dati, le operazioni, le stringhe, i moduli della standard library (random, os, json), le funzioni (definizione, richiamo, variabili locali e globali), la gestione delle eccezioni (try-except-finally), i costrutti condizionali (if-elif-else), le liste, le tuple, i dizionari e i costrutti interattivi (cicli while e for). Il documento include esempi di codice per illustrare i concetti trattati, rendendolo utile per chi si avvicina per la prima volta alla programmazione in python o per chi desidera ripassare le basi. Approfondisce la gestione degli errori e le strutture dati fondamentali, offrendo una solida base per lo sviluppo di applicazioni più complesse. Fornisce una guida completa e dettagliata per comprendere e applicare i concetti chiave della programmazione in python, arricchita da esempi pratici e spiegazioni chiare.
Tipologia: Schemi e mappe concettuali
1 / 15
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!










Prof. Francesco Benedetto [email protected] PW file = xyz A BRIEF HISTORY OF ICT
giovedì 14 marzo 2024 09:
É principalmente per elaborare matrici, che integra funzioni di calcolo matematico, visualizzazione grafica (con struttura modulare) e programmazione. --> liste = vettori (grandezza monodimensionale, tabelle matrici) --> matrici 1xm = vettore riga --> matrici mx1 = vettore colonna CARATTERISTICHE
i Inizio step fine
2 MAGGIO giovedì 2 maggio 2024 09:
while espressione_logica comandi end ➢ FUNZIONI : f ( fu [ u u 1 u u 2 …] = fu ( u 1 u 2 ..) Risultati argomenti della funzione Esempio: calcola il quadrato di x function f=quadrato(x) f = x^2; Return; % PROGRAMMA CONTENENTE ESEMPI DI CICLI FOR clear all close all clc % programma per la stampa di numeri da 1 a 5 % for i = 1: % disp(i) % end % programma per il calcolo del fattoriale di un numero N immesso da tastiera % % ciclo FOR che parte da 1 % N = input('INSERIRE UN NUMERO DI CUI CALCOLARE IL FATTORIALE: '); % Fattoriale = 1; % for i = 1:N % Fattoriale = Fattoriale * i; % end % % sprintf('IL FATTORIALE DI %d E'' PARI A %d', N, Fattoriale) % % pause % % programma per il calcolo del fattoriale di un numero N immesso da tastiera % % % ciclo FOR che parte da 2 % N = input('INSERIRE UN NUMERO DI CUI CALCOLARE IL FATTORIALE: '); % Fattoriale = 1; % for i = 2:N % Fattoriale = Fattoriale * i; % end % sprintf('IL FATTORIALE DI %d E'' PARI A %d', N, Fattoriale) % programma per il calcolo del fattoriale di un numero N immesso da tastiera (al contrario) % ciclo FOR che parte da N fino a 1 N = input('INSERIRE UN NUMERO DI CUI CALCOLARE IL FATTORIALE: '); Fattoriale = 1; for i = N:-1: Fattoriale = Fattoriale * i; end sprintf('IL FATTORIALE DI %d E'' PARI A %d', N, Fattoriale) pause SULLA LINEA DI COMANDO MATLAB >>x= >>y=quadrato(x) y=
pause % ciclo FOR che parte da N fino a 2 N = input('INSERIRE UN NUMERO DI CUI CALCOLARE IL FATTORIALE: '); Fattoriale = 1; for i = N:-1: Fattoriale = Fattoriale * i; end sprintf('IL FATTORIALE DI %d E'' PARI A %d', N, Fattoriale) % programma per indovinare un numero casuale sorteggiato tra 1 e 90 realizzato con il ciclo WHILE clear all close all clc N_COMP = randi(90, 1, 1); N_TENTATIVI = 1; N_UTENTE = input('INSERISCI UN NUMERO INTERO TRA 1 E 90: '); % INIZIALIZZAZIONE DELLA CONDIZIONE while N_COMP ~= N_UTENTE %CONDIZIONE disp ('MI DISPIACE NON HAI INDOVINATO, RITENTA') if N_UTENTE > N_COMP disp('IL NUMERO DA TE INSERITO è TROPPO GRANDE') else disp('IL NUMERO DA TE INSERITO è TROPPO PICCOLO') end N_UTENTE = input('INSERISCI UN NUMERO INTERO TRA 1 E 90: '); % AGGIORNAMENTO DELLA CONDIZIONE N_TENTATIVI = N_TENTATIVI + 1; end disp('BRAVO, HAI INDOVINATO') % programma per la risoluzione di eq. di II grado % eq. II grado: ax^2 +bx + c = % chiede in input i valori di a, b, c all'utente % restituisce il numero ed il valore delle soluzioni se presenti clear all close all clc % rischiesta dei coeff. a b e c a = input('Inserire il coeff. di II grado: '); b = input('Inserire il coeff. di I grado: '); c = input('Inserire il termine noto: '); % inizio risoluzione sulla base del valore di a if a ~= 0 %l'eq è di II grado delta = b^2 - 4 * a * c; if delta > 0 % 2 soluzioni distinte x1 = (-b + sqrt(delta))/2a; x2 = (-b - sqrt(delta))/2a; sprintf('L''EQUAZIONE HA DUE SOLUZIONI DISTINTE E PARI A: X1 = %0.5g, X2 = %0.5g', x1, x2)
VARIABILI : sono composte da lettere numeri e underscore (primo carattere non può essere un numero) ▪ x = 5 x --> 5 ▪ y = x y --> 5 ▪ x = x + 1 x --> 6 (si può anche scrivere cosi "x =+ 1") ▪ variabili booleane : True = 1 , False = 0 (0, 0.0 , stringa vuota (""), "{}" , "[]", "()", sono sempre falsi)
l'istruzione "print" : stampa il suo argomento trasformandolo in una stringa ▪ Si possono stampare più elementi se separati da una virgola ▪ Si può andare a capo inserendo " \n "
→ Input() : permette di acquisire dati interattivamente con l'utente → Ordine operazioni : parentesi, potenza ( ) → Operatore modulo : restituisce il resto della divisione quando il primo operando è diviso per il secondo >>resto = 7 % 3 >>pritn(resto) >> Conversione dei dati forniti: ▪ int (nome variabile input) --> converte in intero, eliminando i decimali senza arrotondare ▪ float (nome variabile input) --> converte in numero con decimale
STRINGHE : sono racchiuse fra apici singoli o doppi ▪ si possono usare alcuni operatori visti per i numeri >> "ciao" + "mondo" ( concatenazione ) >>"ABC" * 3 ( ripetizione ) >> "ciao mondo" >> "ABCABCABC" ▪ si può accedere ad ogni carattere con l'operatore bracket >>fruit = "banana" >> letter = fruit[1] (restituisce il secondo carattere, perché si parte da 0) ▪ word.find(carattere) : restituisce la posizione del carattere che si cerca ▪ variabile_strinta.strip() : rimuove lo spazio bianco dall'inizio e dalla fine della stringa ▪ variabile.capitalize() : rende maiuscola la prima lettera della stringa ▪ variabile.upper() rende una tutta maiuscola mentre variabile.lower() la rende tutta minuscola ▪ len("stirnga") : restituisce la lunghezza della stringa
MODULI DELLA STANDARD LIBRARY: si importano con l'istruzione import modulo (es. import random) random : permette di generare numeri pseudo-casuali → random() : restituisce numero casuale con la virgola tra [0.0 e 1.0) (es. n_casuale = random.random() ) → randit (a,b): restituisce un numero casuale tra [a,b] (es. numero_intero= random.randit(1,100) ) → choice(seq) : restituisce un elemento casuale da una sequenza (es. x = random.choice(["rosso","verde"]) → shuffle(seq) : mescola casualmente gli elementi di una sequenza (es. Random.shuffle(lista)
math : fornisce funzioni matematiche per operazioni complesse → sqrt(x) ; restituisce la radice quadrata di x (es: math.sqrt(25) ) → pow(x,y) : restituisce x elevato alla potenza y (es: math.pow(2,3)
▪ tkinter : crea applicazioni grafiche multipiattaforma (per importarlo abbreviandolo: import tkinter as tk) finestra = tkinter.Tk() : crea la finestra principale → finestra.geometry("40x40") : stabilisce la dimensione della finestra → button = tkinter.Button(finestra,text="cliccami") → button.pack() : posiziona il bottone nella finestra → finestra.mainloop() : avvia il ciclo principale dell'interfaccia grafica PYTHON martedì 4 giugno 2024 12:
>> x += 2 >> return x >> print(funzione_esempio()
>> global x >> x += 2 >> return x >> print(funzione_esempio() # stampa 17 >> def mia_funzione(): >> val = 24 >> return val >> new_val = mia_funzione + 6 >>print(new_val) # stampa 30 Viene eseguito il blocco try se genera un errore passa al blocco except
>> try: >> blocco 1 >> except: >> blocco 2 → execpt ZeroDivisionError: gestione di divisioni per zero → except ArithmeticError: gestione di errori aritmetici → except Exception: gestione di altre eccezioni non gestite → raise ExceptionName , Argument : permette di forzare la creazione di un'eccezione → finally : questo costrutto serve a far eseguire un blocco istruzioni in ogni caso COSTRUTTI CONDIZIONALI: istruzione if: → funziona come in matlab → elseif ora diventa elif → istruzione pass permette di lasciare un buco per il futuro cosi che il programma non sia errori
▪ liste : struttura dati che permette di memorizzare una sequenza ordinata di elementi (mutabili) >> mylist = [2,10,3,6,11,5,4] → nome_lista.append(oggetto) : aggiunge in fondo l'oggetto alla fine (es. Lista frutta, aggiunge fragola) → nome_lista.extend(nome_lista2) : aggiunge in fondo gli elementi della lista 2 → nome_lista.insert(index, oggetto) : aggiunge l'oggetto prima di index → nome_lista.pop([index]) : rimuove l'elemento in index e lo ritorna (valore originale sempre - 1) → nome_lista.remove(value) : elimina la prima occorrenza di value → nome_lista.reverse() : inverte la lista → nome_lista.sort() : ordina la lista ATTENZIONE ad appen crea una nuova lista tuple : delimitate da parentesi (omettibili se senza ambiguità), elementi separati dalla virgola (immutabili) → (1,2,3) → (1,) # un solo elemento → () # nessun elemento
→ (1,2,)[0] = 5 # errore! (nelle liste avrebbe cambiato la posizione 0 (ovvero l'1) con 5) dizionari : é una struttura di dati che associa chiavi e valori → nome_dizionario.() : elimina tutti gli elementi del dizionario → nome_dizionario.copy() : restituisce una copia di "nome_dizionario" → nome_dizionario.has_Key(k) : restituisce 1 se "k" e nel dizionario, altrimenti 0 (si può usare anche in) nome_dizionario.items() , nome_dizionario.keys() , nome_dizionario.values() restituiscono: □ Lista con tuple "(chiave, valore)" □ Lista delle chiavi □ Lista dei valori
→ nome_dizionario.update(D2) : aggiunge le chiavi di "nome_dizionario2" in "nome_dizionario" → nome_dizionario.get(k,d) : restituisce nome_dizionario[k] se la chiave é presente, altrimenti d (none)
Ciclo while : funziona come su matlab (finché la condizione é vera) → Per dire finche guess é vero ( while not guess)
▪ for loop : funziona come su matlab (anche cosi: for numero in range( 11 ) ) ▪ break : viene usata per interrompere prematuramente un ciclo ▪ continue : simile a break ma invece di interrompere il ciclo, salta tutto il codice successivo all'istruzione
Viene eseguito il blocco try se genera un errore passa al blocco except