• Non ci sono risultati.

27marzo2013 AutovalutazioneSaraZuppiroli LaboratoriodiPython

N/A
N/A
Protected

Academic year: 2021

Condividi "27marzo2013 AutovalutazioneSaraZuppiroli LaboratoriodiPython"

Copied!
11
0
0

Testo completo

(1)

Laboratorio di Python

Autovalutazione

Sara Zuppiroli

Università di Bologna

27 marzo 2013

(2)

Sommario

1 Autovalutazione

Sara Zuppiroli Laboratorio di Python

(3)

Esercizio

Dire cosa stampa il seguente frammento di codice python:

A=[1,2]

B=[3,A,[1,2]]

def g(x):

x[1]=5 A[0]=8 M=B[:]

print(B) g(B) M[1]=7 print(B,M,A)

(4)

Esercizio 2

Dire cosa stampa il seguente frammento di codice python:

def d(a):

a[1]=5 a[0][1]=8 h=[2,7]

b=[h,h,3]

c=b[:]

d(b)

print(b,c,h)

Sara Zuppiroli Laboratorio di Python

(5)

Esercizio 3

Scrivere una funzione che preso come parametro una tupla t mi stampi tutte le tuple che sono prefissi della tupla data t. (es. t=(2,3,1) -> (2,3,1);(2,3); (2,); ()) Implementare in maniera ricorsiva e iterativa tale funzione.

(6)

Esercizio 4

Si dica se la seguente funzione implementa correttamente

l’operazione che inverte separatamente le due metá di una lista (cioé, ad esempio, che trasforma [1,2,3,4,5,6] in [3,2,1,6,5,4]).

def inve(L):

m=len(L)//2 for i in range(m):

L[i],L[m-i-1] = L[m-i-1],L[i]

L[m+i],L[-(i+1)] = L[-(i+1)],L[m+i]

Sara Zuppiroli Laboratorio di Python

(7)

Soluzione 1

[3, [1, 2], [1, 2]]

([3, 5, [1, 2]], [3, 7, [1, 2]], [8, 2])

(8)

Soluzione 2

([[2, 8], 5, 3], [[2, 8], [2, 8], 3], [2, 8])

Sara Zuppiroli Laboratorio di Python

(9)

Soluzione 3

Ricorsiva

def stampa_st(t):

if t==():

print(t) else:

print(t)

stampa_st(t[:len(t)-1]) t=(1,3,5)

stampa_st(t)

(10)

Soluzione 3

Iterativo

def stampa_st_it(t):

for i in range(0,len(t)):

print(t[:len(t)-i])

t=(2,3,1) stampa_st_it(t)

Sara Zuppiroli Laboratorio di Python

(11)

Soluzione 4

Esempio

def inve(L):

m=len(L)//2 for i in range(m):

L[i],L[m-i-1] = L[m-i-1],L[i]

L[m+i],L[-(i+1)] = L[-(i+1)],L[m+i]

Restituisce la lista esattamente uguale perché la funzione effettua due volte l’operazione che inverte gli elementi, e quindi la lista L é esattamente la stessa prima e dopo l’esecuzione della funzione.

Riferimenti

Documenti correlati

Esercizio 0: Scrivere correttamente nome, cognome, matricola e posizione prima di svolgere ogni altro esercizio..

Scrivere la funzione Matlab find_val che riceva in input un vettore v e una variabile stringa tipo che puo' assumere solo i valori 'min' e 'max' e restituisca in output il

servono ad impedire che il carattere $ che rappresenta il ladro esca dallo schermo (la direzione del movimento viene invertita nel caso vengano superati i bordi dello schermo

Le risposte di Carletto e di Susanna ci danno l'opportunità di conoscere gli aggettivi indefiniti, stretti parenti di quelli numerali, ma meno precisi sulle quantità.. Hai

• SET DEFAULT: la cancellazione di una tupla dalla tabella riferita implica che, in tutte le tuple della tabella referente che hanno come chiave esterna la chiave della tupla da

14.. sono punti di discontinuit`a eliminabile. a)La funzione f ha due punti angolosi in x = ±1, come si vede facilmente anche disegnandone il grafico... Si pu`o quindi applicare

Hai la possibilità di accedere alle lezioni del nostro Corso on line sullo studio di funzione con oltre 262 esercizi dettagliatamente

Vincoli intrarelazionali: definiti sui valori di singoli attributi (di dominio) o tra valori di attributi di una stessa tupla o tra tuple della stessa relazione.