Laboratorio di Python
|
|
|
- Daniela Grimaldi
- 9 anni fa
- Просмотров:
Транскрипт
1 , Esercizi su dizionari Università di Bologna 24 aprile e 3 maggio 2013
2 Sommario 1 2 3
3 Estrazione senza reinserimento Estrarre 10 carte da un mazzo di 40 senza reinserirle nel mazzo def estrazione(): mazzo=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18, 19,20,21,22,23,24,25,26,27,28,29,30,31,32, 33, 34,35,36,37,38,39,40] e=random.sample(s,10) #estraggo senza reinserimento come fa return e #codesto metodo Restituisce errore perché?
4 Estrazione senza reinserimento Estrarre 10 carte da un mazzo di 40 senza reinserirle nel mazzo def estrazione_briscola_noreinserimento(): Semi=["Bastoni", "Coppe", "Denara", "Spade"] Numeri=["Asso",2,3,4,5,6,7,"Fante","Cavallo","Re"] result=[] while len(result)<10:#compie 10 estrazioni S1=random.choice(Numeri)#scelta casuale numeri S2=random.choice(Semi)#scelta casuale semi final=str(s1)+ " di " +S2 if final not in result: #se c'e' gia' non la prende e quindi continua #ad iterare. se non c'e' allora aggiunge a result. result.append(final) return result Cos é sbagliato? Che tipo di errore é questo?
5 Domande Quando viene definita una frase viene detto che é delimitata da qualsiasi segno di punteggiatura: quindi tutti i segni li elencati come punteggiatura? anche l a-capo e la virgola per quanto riguarda i segni di punteggiatura: nel testo ne sono elencati solo alcuni, ma per esempio i segni come > e <, che di solito aprono un discorso diretto, vanno da considerarsi come limiti di frasi? Suddivisione delle frasi: Pippo, pluto. paperino; /n Paperone. Quante frasi sono? Quando si dice numero di lettere si intende lettere dell alfabeto solamente o anche cifre e punteggiatura?
6 Domande Per quanto riguarda tutti i caratteri speciali come (&, %, Û, ecc..) sono da considerarsi tra segni di punteggiatura o segni alfabetici? Quando si legge un file, se in esso vi sono dei tab o altri comandi simili vengono trasformati in t ecc. a seconda dei casi oppure si deve ripulire il testo da questi in modo che non vi sia un conteggio errato delle lettere?
7 Definizione e Inizializzazione I dizionari sono sequenze mutabile. I dizionari hanno un indice chiamato chiave. La chiave é definibile da un qualunque tipo immutabile. Per inzializzare un dizionario d si usa il comando: d = {}
8 Definizione e Assegnazione d = {chiave : val, chiave2 : val, } chiave puó essere di tipo stringa, intero, tupla, ecc... qualsiasi tipo immutabile Val puó essere definito qualsiasi tipo anche un dizionario stesso Ad esempio: d = { vocali : ( a, e, i, o, u ), consonanti : ( b, c,...), punteggiatura : ( :, ; )} chiavi del nostro dizionario sono: vocali, consonanti, punteggiatura valori referenziati dalle rispettive chiavi sono ( a, e, i, o, u ); ( b, c,...); (,, ; )
9 Operazioni sui dizionari Modifica : d[ vocali ] = ( a, e, i, o, u, A, E, I, O, U ) modifica la chiave giá presente con i valori a destra dell uguale Assegnazione : d[ alfabeto ]=( a, b,... ) associa alla variabile d una nuova chiave con i valori a destra dell uguale Cancellazione : del d[ consonanti ] cancella da d la chiave e i valori ad essa associati Numero di coppie chiave valore len(d) conta il numero di coppie chiave valore presenti nel dizionario d
10 Metodi dei dizionari versione 2.x keys : d.keys ritorna la lista delle sue chiavi values d.values ritorna la lista dei valori in un dizionario has_key d.has_key( vocali ) prende come argomento una chiave e ritorna (1) se la chiave é presente nel dizionario 0 altrimenti d.clear() : metodo per cancellare tutti gli elementi da un dizionario.
11 Metodi key and values versione 3.x keys : d.keys ritorna la vista dinamica delle chiavi values d.values ritorna la vista dinamica dei valori
12 Python 3.x >>>d={'vocali': ('a','e','i','o','u'), 'consonanti': ('b','c',...)} >>> ks = d.keys() >>> kv = d.values() >>> print(ks) (['vocali', 'consonanti']) >>> print(kv) ([('a','e','i','o','u'),('b','c',...) ]) >>> d['punteggiatura'] = (':',';') >>> print(ks) ([vocali', 'consonanti' 'punteggiatura']) >>> print(kv) ([('a','e','i','o','u'),('b','c',...), (':',';')])
13 Python 2.x >>>d={'vocali': ('a','e','i','o','u'), 'consonanti': ('b','c',...)} >>> ks = d.keys() >>> kv = d.values() >>> print(ks) ['vocali', 'consonanti'] >>> print(kv) [('a','e','i','o','u'),('b','c',...) ] >>> d['punteggiatura'] = (':',';') >>> print(ks) ['vocali', 'consonanti'] >>> print(kv) [('a','e','i','o','u'),('b','c',...) ]
14 Esercizio 1 Scrivere una funzione che dato un insieme di studenti e voti ad essi associati restituisca un dizionario degli studenti e dei voti ad essi associati, suddivisi per lettera del cognome. Le chiavi sono i gruppi (a-f), (g-o), (p-z); i valori le liste degli studenti e dei voti. 2 Si definisca la funzione di inserimento e cancellazione di un dato studente nel dizionario appena creato. 3 Si definisca la funzione che inserisca a uno studente presente nel dizionario una lista di voti.
15 Esercizio 1.1 def dizionario(s): if type(s)==tuple: d={} k1=('a','f') k2=('g','o') k3=('p','z') d={k1:[],k2:[], k3:[]} itero= list(d.keys()) # versione 3.x for i in range(len(s)): for k in itero: t=str(s[i][0]) if t[0] >= k[0] and t[0]<=k[len(k)-1]: d[k].append(s[i]) return (d) Se stiamo usando la versione 2.x, il codice diventa: itero= d.keys()
16 Esercizio 1.2a def inser_studente(s,d): itero= list(d.keys()) # versione 3.x for k in itero: t=str(s[0]) if t[0] >= k[0] and t[0]<=k[len(k)-1]: d[k].append(s) return (d) Se stiamo usando la versione 2.x, il codice diventa: itero = d.keys()
17 Esercizio 1.2b def canc_studente(s,d): itero= list(d.keys()) # versione 3.x for k in itero: t=str(s[0]) if t[0] >= k[0] and t[0]<=k[len(k)-1]: ite=d[k] lung=len(ite) for l in range(lung): if t == ite[l][0]: del ite[l] d[k]=ite return (d)
18 Cerca studente def cerca_studente_n(s,d): itero= list(d.keys()) # versione 3.x for k in itero: if type(s)==list: t=str(s[0]) if t[0] >= k[0] and t[0]<=k[len(k)-1]: ite=d[k] for l in range(len(ite)): if t == ite[l][0]: return (k,l) elif type(s)==str: if s[0] >= k[0] and s[0]<=k[len(k)-1]: ite=d[k] for l in range(len(ite)): if s == ite[l][0]: return (k,l) return(none,none)
19 Esercizio 1.2b che richiama cerca_studente def canc_studente_n(s,d): k, l=cerca_studente_n(s,d) if k is not None: ite=d[k] del ite[l] d[k]=ite return (d)
20 Esercizio 1.3 def insert_voto(s,d,n): k, l=cerca_studente_n(s,d) ite=[] if k is not None: ite=d[k] if type(n) == list: for i in n: ite[l][1].append(i) d[k]=ite return d elif type(n)==int: ite[l][1].append(n) d[k]=ite return d return d
21 Esercizio 2 Si definisca una funzione che preso un dizionario di studenti e voti suddivisi per lettera, restituisca un dizionario con gli studenti suddivisi per intervalli di media di voto. Nel calcolo della media la lode permette di arrotondare all intero successivo, nel caso in cui nella lista dei voti non sia presente una lode l arrotondamento é per difetto. Esempio: Studenti=(a-f):[[ Alighieri,[24,30,26], ], [[ Boccaccio,[18,22,24]], ], ( g - o ):[[Manzoni,[30,29,30]], ], ( p, z )[[ Poe,[23,30L,26]], ] Studenti_voto_medie=(18, 23): [ Boccaccio, ], (24,27):[Alighieri, Poe, ], (28-30):[ Manzioni, ]
22 Esercizio 2- calcolo medie def media_voti_studente(l): if type(l) == list: s=0 ite=l for i in ite: s=s+i return s/len(ite) return None
23 Esercizio 2 - funzione dizionario def dizionario_media(d): if type(d)==dict: dm={} k1=(18,23) k2=(24,26) k3=(27,30) dm={k1:[],k2:[], k3:[]} itero= list(d.values()) # versione 3.x itero2=list(dm.keys()) # versione 3.x for k in itero: if len(k)>0: for i in k: t=str(i[0]) media=media_voti_studente(i[1]) if media is not None: for r in itero2: if media >= r[0] and media<=r[1]: dm[r].append(t) return (dm)
24 Matrici sparse Come rappresentare una matrice sparsa? La matrice sparsa é una matrice che ha quasi tutti i valori pari a zero.
25 Rappresentazione matrice sparsa 1 Matrice = [ [0,0,0,1,0], [0,0,0,0,0], [0,2,0,0,0], [0,0,0,0,0], [0,0,0,3,0] ] 2 Matrice = {(0, 3) : 1, (2, 1) : 2, (4, 3) : 3} quindi la chiave risulta essere l indice del valore diverso da zero e il valore é il valore diverso da zero della matrice Perché scegliere la seconda implementazione?
26 Esercizi Definiamo le funzioni che implementino le operazioni di: somma moltiplicazione indipendentemente dalla rappresentazione della matrice che é stata utilizzata.
27 Esercizi Definire una funzione che preso un dizionario di studenti con i voti ad essi associati restituisca un dizionario che abbia per chiavi 4 intervalli di medie voti tali per cui la distribuzione degli studenti in questi 4 intervalli sia costante a meno di uno studente, e per valori i cognomi degli studenti appartenenti a quella media di voto.
28 Cosa abbiamo fatto? 1 2 3
Laboratorio di Python
, Input da tastiera, Iterazione incondizionata 7 marzo 2014 Sommario 1 2 3 Outline 1 2 3 Definizione di funzione import modulo Si importa il modulo specificato def nome_f(par 1,, par n ) : Si definiscono
Laboratorio di Python
Correzione esercizi Alcuni moduli utili, Esercizi vari Università di Bologna 9 aprile 2015 Sommario Correzione esercizi 1 Correzione esercizi 2 3 4 Correzione esercizi Scrivere e documentare le funzioni
Laboratorio di Python
Correzione esercizi Alcuni moduli utili, Esercizi vari Università di Bologna 4 aprile 2014 Sommario Correzione esercizi 1 Correzione esercizi 2 3 4 Esercizi Correzione esercizi Scrivere e documentare le
Laboratorio di Python
Istruzione di condizione, Input da tastiera, Università di Bologna 6 e 8 marzo 2013 Sommario 1 Tipi di errore e Debugging 2 3 4 Outline Tipi di errore e Debugging 1 Tipi di errore e Debugging 2 3 4 Esercizio
Laboratorio di Python
Correzione esercizi Alcuni moduli utili, Esercizi vari Università di Bologna 10 e 12 aprile 2013 Sommario Correzione esercizi 1 Correzione esercizi 2 3 4 Esercizi Correzione esercizi Scrivere e documentare
laboratorio di python
laboratorio di python iterazione in python 22 Marzo 2019 1/31 Correzione esercizi per oggi esercizio 1 per casa Scrivere una funzione che restituisce True se una stringa passata come parametro è palindroma
Liste, dizionari e tuple
Liste, dizionari e tuple Andrea Passerini [email protected] Informatica Liste Descrizione Una lista è una sequenza di oggetti qualunque (anche di tipo diverso, anche altre liste) >>> l = ["abc",
Laboratorio di Python (con Linux)
8 a lezione Università di Bologna 2, 4 maggio 2012 Sommario 1 2 3 Diversi Python 2.6 vs 2.7 v.s 3.x La versione di Python installata sulle macchine del laboratorio è la 2.6 (per l esattezza 2.6.6 ). Versioni
Laboratorio di Python
Iterazione determinata, 12 marzo 2015 Sommario 1 2 3 Sintassi ed Esempi 4 Input da tastiera Sintassi = raw_input('stringa descrittiva') #versione 2.* = input('stringa descrittiva') #versione
Laboratorio di Python
25 marzo 2015 Sommario 1 2 Esercizi a casa Scrivere un unico programma, che attraverso un menù di selezione restituisca i risultati delle funzioni che seguono, senza uscire dal programma se non selezionando
Laboratorio di Python
Laboratorio di Python Alberi binari Lab15 12 Maggio 2017 Outline Correzione esercizi per oggi Alberi binari Teoria Esercizi Esercizi per casa Saluti Esercizio 1 per casa Scrivere una funzione palindroma(s)
Laboratorio di Python
Algoritmo, sulle liste Università di Bologna 3 e 5 aprile 2013 Sommario Correzione esercizi 1 Correzione esercizi 2 3 4 Correzione Correzione esercizi scrivere e documentare un programma con un menu dove:
Laboratorio di Python
Laboratorio di Python Code Lab13 28 Aprile 2017 Outline Correzione esercizi per oggi Code Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che determina se uno studente può
Programmazione in Python per la bioinformatica
per la bioinformatica University of Verona Sommario La struttura dati Lista Lista Come si rappresenta una lista in python Reminder: Lista collezione ordinata di elementi L = a 0, a 1,, a n 1 La variabile
Laboratorio di Python
Laboratorio di Python Esercizi di debug Lab07 27 Marzo 2018 Outline Correzione esercizi per oggi Debug Strategia Esercizi di debug Esercizi per casa Outline Correzione esercizi per oggi Debug Strategia
Laboratorio di Python
Problem solving, Ricorsione, 14 marzo 2014 Sommario 1 2 3 4 Sintassi ed Esempi Esercizi Lunedì il numero di studenti che avevano consegnato gli esercizi era 13. Martedì il numero di esercizi ricevuti,
Programmi Python: esempi (in Python 3) Prof.ssa Valeria Vittorini Prof. Roberto Canonico Corso di Programmazione I a.a
Programmi Python: esempi (in Python 3) Prof.ssa Valeria Vittorini Prof. Roberto Canonico Corso di Programmazione I a.a. 2018-2019 Esempio #1: calcolo numeri primi Come esempio di funzione, si riporta sotto
Informatica 1. Prova di recupero 21 Settembre 2001
Informatica 1 Prova di recupero 21 Settembre 2001 Si risolvano i seguenti esercizi. Ai fini della determinazione del voto finale il loro punteggio andrà sommato al punteggio del laboratorio. Il tempo complessivo
Menù. Esercizio sulle liste. Esercizio sulle tuple. Esercizi sui dizionari. Esercizi su classi e dizionari. Progetti
Menù Esercizio sulle liste Esercizio sulle tuple Esercizi sui dizionari Esercizi su classi e dizionari Progetti Esercizi sulle liste 6 di 6 Realizza una funzione per la ricerca di un numero X in una matrice
Elementi di Base. Introduzione a Python.
Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ [email protected] Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,
Laboratorio di Python
, Esercizi su alberi Università di Bologna 16 maggio 2013 Sommario 1 2 Consegna non avvenuta Meno di 10 studenti hanno inviato l esercizio svolto. Definizione ricorsiva alberi binari Un albero binario
Laboratorio di Python
Problem solving, Ricorsione, Università di Bologna 13 e 15 marzo 2013 Sommario 1 2 3 4 Errore di semantica Esercizio def vocali(s): voc='' for c in s: if c in 'aeiou': voc=voc+c return voc Cerchiamo di
Laboratorio di Python
, Istruzione di condizione 3 marzo 2015 Sommario 1 Outline 1 Scrivere uno script 1 Aprire IDLE di Python. 2 Dal menù del programma aprire un nuovo file. 3 Scrivere la funzione. 4 Salvare ed eseguire il
Esercitazione 3. Espressioni booleane I comandi if-else e while
Esercitazione 3 Espressioni booleane I comandi if-else e while Esercizio Si consideri la seguente istruzione: if (C1) if (C2) S1; else S2; A quali delle seguenti interpretazioni corrisponde? if (C1) if
Funzioni e moduli. Andrea Passerini Informatica. funzioni e moduli
Funzioni e moduli Andrea Passerini [email protected] Informatica Funzioni nella programmazione Descrizione Una funzione è una sequenza di istruzioni cui viene dato un nome Questo permette di riutilizzare
Usare Python in Linux
26 Febbraio 2015 Outline 1 Struttura e programma delle lezioni 2 3 Outline Struttura e programma delle lezioni 1 Struttura e programma delle lezioni 2 3 Lezione tipo Struttura e programma delle lezioni
Laboratorio di Informatica
Laboratorio di Informatica Seconda lezione a Python Dottore Paolo Parisen Toldin - [email protected] Dottoressa Sara Zuppiroli - [email protected] L'importanza di capire Perché non dobbiamo dichiarare
Rappresentazione binaria
Rappresentazione binaria Per informazione intendiamo tutto quello che viene manipolato da un calcolatore: numeri (naturali, interi, reali,... ) caratteri immagini suoni programmi... La più piccola unità
Corso di Linguaggi di Programmazione
Corso di Linguaggi di Programmazione Lezione 5 Alberto Ceselli [email protected] Università degli Studi di Milano 12 Marzo 2013 Le funzioni sono oggetti di prima classe in Scheme In Scheme le funzioni
Esercizi su Scratch. Esegui la Somma e il Prodotto dei numeri inseriti in Input fino a che non inserisco la vocale e.
Esercizi su Scratch Esercizio 1: Indovina il numero Il computer pensa un numero compreso tra uno e 100 e tu lo devi indovinare. Prevedi un avviso che indichi se il Tuo numero è più grande o più piccolo.
Laboratorio di Python
Laboratorio di Python Iterazione determinata Lab05 17 Marzo 2017 Variazione data laboratorio! Mercoledì 22 marzo ci sarà laboratorio Mercoledì 3 maggio non ci sarà laboratorio (si terrà lezione regolare)
Pensiero computazionale. Lezione 4 Liste
Pensiero computazionale Lezione 4 Liste Cos è una lista Una lista è una variabile che può contenere più valori, selezionabili tramite un indice daylist Sunday Monday Tuesday List name Item 1 of daylist
Laboratorio di Python (con Linux)
Indeterminata,,,... Università di Bologna 14, 16 marzo 2012 Sommario 1 2 3 4 5 Modularità Quando si deve fare un programma complicato è meglio suddividerlo in più parti. Per ridurre la complessità (più
Introduzione a Python e Gurobi
Introduzione a Python e Gurobi Introduzione Python è un linguaggio di programmazione ad alto livello, rilasciato pubblicamente per la prima volta nel 1991 dal suo creatore Guido van Rossum, programmatore
Dati aggregati. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica - in breve: Definizione di tipi Array Stringhe Strutture
Laboratorio di programmazione
Laboratorio di programmazione Lezione VI Tatiana Zolo [email protected] 1 Dichiarazione (forma generale): LE STRUCT struct nome_struttura { tipo var1; tipo var2;... tipo vark; } variabili_struttura; (soltanto
Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella
Corso di Informatica Tipi strutturati: Stringhe Anno Accademico 2010/2011 Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri quali
Algoritmi e Strutture Dati
Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 Il concetto di dato Il concetto di tipo di dato Insertion Sort for j 2 to lenght[a]
