• 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

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.

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