Esercizi

  1. Creare una lista contenente 100 numeri interi random tra 0 e 1000. Scrivere una funzione chiamata average che prende una lista come parametro e ritorna la media dei valori contenuti nella lista.


    
    
    

    (ex_9_4)

  2. Scrivere una funzione che prende una lista di 100 interi random tra 0 e 100 e ritorna il valore massimo contenuto nella lista. (Nota: non usare la funzione max.)


    
    
    

    (ex_9_5)


    
    
    

    (q5_answer)

  3. Scrivere una funzione sum_of_squares(xs) che calcola la somma dei quadrati dei numeri nella lista xs. Per esempio, sum_of_squares([2, 3, 4]) dovrebbe ritornare 4+9+16 ovvero 29:


    
    
    

    (ex_7_11)

  4. Scrivere una funzione per contare quanti numeri dispari ci sono in una lista.


    
    
    

    (ex_9_6)


    
    
    

    (q7_answer)

  5. Sommare tutti i numeri pari in una lista.


    
    
    

    (ex_9_7)

  6. Sommare tutti i numeri negativi in una lista.


    
    
    

    (ex_9_8)


    
    
    

    (q9_answer)

  7. Contare quante parole in una lista hanno lunghezza 5.


    
    
    

    (ex_9_9)

  8. Sommare tutti gli elementi in una lista fino al primo numero pari contenuto nella lista escluso.


    
    
    

    (ex_9_10)


    
    
    

    (q11_answer)

  9. Contare quante parole occorrono in una lista fino alla prima occorrenza della parola “sam”.


    
    
    

    (ex_9_11)

  10. Con riferimento alle liste, implementare funzioni Python che funzionano come le seguenti (senza usare le funzioni corrispondenti fornite dalla libreria):

    1. count
    2. in
    3. reverse
    4. index
    5. insert

    
    
    

    (ex_9_12)


    
    
    

    (q13_answer)

  11. Scrivere una funzione replace(s, old, new) che rimpiazza tutte le occorrenze di old con new in una stringa s:

    testEqual(replace('Mississippi', 'i', 'I'), 'MIssIssIppI')
    
    s = 'I love spom!  Spom is my favorite food.  Spom, spom, spom, yum!'
    testEqual(replace(s, 'om', 'am'),
           'I love spam!  Spam is my favorite food.  Spam, spam, spam, yum!')
    
    testEqual(replace(s, 'o', 'a'),
           'I lave spam!  Spam is my favarite faad.  Spam, spam, spam, yum!')
    

    Suggerimento: usare i metodi split e join.


    
    
    

    (ex_9_13)

  12. Scrivere un programma che legge in input un intero k e poi k interi e li memorizza in una lista A, dichiara una seconda lista B, copia tutti gli elementi di A in B e stampa entrambi le liste.


    
    
    

    (ex_9_a)

  13. Scrivere un programma che legge un intero k pari e poi k interi e li memorizza in una lista. Il programma successivamente legge un valore X intero. Il programma deve controllare che la somma di tutti gli elementi di indice pari sia minore o uguale ad X, e stampare di conseguenza un messaggio Condizione verificata oppure Condizione non verificata.


    
    
    

    (ex_9_b)

  14. Scrivere un programma che legge un intero k pari e poi k interi e li memorizza in una lista A. Il programma successivamente legge un valore X intero. Il programma deve controllare che la somma di ogni coppia contigua di elementi di A sia uguale ad X, e stampare di conseguenza un messaggio Condizione verificata oppure Condizione non verificata.


    
    
    

    (ex_9_c)

  15. Scrivere un programma che legge un intero k e poi k interi e li memorizza in una lista A. Il programma successivamente legge due valori interi, X e Y. Il programma deve controllare che ogni occorrenza di X sia sempre seguita da un occorrenza di Y e stampare di conseguenza un messaggio Condizione verificata oppure Condizione non verificata.


    
    
    

    (ex_9_d)

  16. Scrivere una funzione che dato una lista di interi A, calcola una lista di interi B che contiene gli elementi di A che sono valori pari.


    
    
    

    (ex_9_e)

  17. Scrivere una funzione che date due liste di interi A e B calcola un terzo array C che contiene tutti gli elementi di A seguiti da tutti gli elementi di B. La funzione lascia A e B invariati e le modifiche su A e B non devono modificare C.


    
    
    

    (ex_9_f)

  18. Scrivere una funzione che date due liste A, B, modifica A inserendo tutti gli elementi di B dopo tutti gli elementi A. La funzione lascia B invariato e le modifiche su B non devono modificare A.


    
    
    

    (ex_9_g)

  19. Scrivere una funzione che date due liste di interi A e B, calcola una terza lista C che contiene l’unione di A e B. Si noti che A e B possono essere liste non ordinate. Scrivere un programma che definisce le due liste, invoca la funzione appena definita passando le due liste come parametri e stampa la lista risultante.


    
    
    

    (ex_9_h)

  20. Scrivere una funzione che date due liste di interi A e B, calcola una terza lista C che contiene l’intersezione di A e B. Si noti che A e B possono essere liste non ordinate. Scrivere un programma che definisce le due liste, invoca la funzione appena definita passando le due liste come parametri e stampa la lista risultante.


    
    
    

    (ex_9_i)

  21. Scrivere una funzione che date due liste di interi A e B, calcola una terza lista C che contiene l’intersezione di A e B. Si assuma che A e B sono liste ordinate facendo in modo che il numero di confronti tra gli elementi di A e B sia al più len(A)+len(B). Scrivere un programma che definisce le due liste, invoca la funzione appena definita passando le due liste come parametri e stampa la lista risultante.


    
    
    

    (ex_9_l)

  22. Scrivere un programma che legge una stringa e stabilisce se l’insieme dei caratteri utilizza in modo appropriato le parentesi graffe tonde e quadre ovvero: se il numero delle parentesi aperte e chiuse coincide e se la parentesi aperta precede sempre la parentesi chiusa. Ad esempio: {lkshaj[nnnn()]}{} è una sequenza corretta, mentre {lkshaj][nnnn()}{} non è corretta.


    
    
    

    (ex_9_m)

Next Section - Dizionari