Esercizi di programmazione in Python

Segue un elenco di esercizi da svolgere in Python. L'ordine in cui compaiono non è significativo, e potrebbero esserci ripetizioni rispetto agli esercizi proposti a lezione. Per alcuni esercizi è riportata anche una delle soluzioni possibili.
  1. creare una lista contenente 20 interi random in [0, 100) e stampare il numero di elementi pari, il numero di elementi maggiori di 70, media e varianza degli elementi;
  2. leggere da tastiera una sequenza di interi (la lunghezza è data anch'essa da tastiera), memorizzarla in una lista, verificare se la sequenza è in ordine non decrescente;
  3. modificare il programma precedente per verificare se la sequenza è crescente, non decrescente, non crescente o decrescente
  4. data una lista di interi, creare un altra lista contenente solo gli elementi di posizione pari della prima lista;
  5. data una lista di interi, creare un altra lista contenente solo gli elementi di posizione dispari della prima lista;
  6. data una lista di interi, creare un altra lista contenente solo gli elementi pari (deve essere pari il valore, indipendentemente dalla posizione) della prima lista;
  7. date due liste di interi A e B, con len(A) ≥ len(B), verificare se la sequenza B compare in A, e in caso positivo indicare in quale posizione. Ad esempio, la sequenza B = 3, 2, 10 compare nella sequenza A = 12, 2, 3, 2, 8, 3, 2, 10, 4, 2 in posizione 5
  8. funzione che, dato n, restituisce la lista dei primi n numeri della successione di Fibonacci
  9. inversione di lista
  10. creare una lista contenente 20 interi random in [0, 100) e stampare il numero di elementi pari, il numero di elementi maggiori di 70, media e varianza degli elementi;
  11. leggere da tastiera una sequenza di interi (la lunghezza è data anch'essa da tastiera), memorizzarla in una lista, verificare se la sequenza è in ordine non decrescente;
  12. modificare il programma precedente per verificare se la sequenza è crescente, non decrescente, non crescente o decrescente
  13. data una lista di interi, creare un altra lista contenente solo gli elementi di posizione pari della prima lista;
  14. data una lista di interi, creare un altra lista contenente solo gli elementi di posizione dispari della prima lista;
  15. data una lista di interi, creare un altra lista contenente solo gli elementi pari (deve essere pari il valore, indipendentemente dalla posizione) della prima lista;
  16. date due liste di interi A e B, con len(A) ≥ len(B), verificare se la sequenza B compare in A, e in caso positivo indicare in quale posizione. Ad esempio, la sequenza B = 3, 2, 10 compare nella sequenza A = 12, 2, 3, 2, 8, 3, 2, 10, 4, 2 in posizione 5
  17. scrivere una funzione simmetrica(m) che:
  18. scrivere una funzione trasposta(m) che, data una matrice m di r righe e c colonne costruisce un'altra matrice e la restituisce. La matrice restituita deve essere la trasposta della matrice m, quindi avrà c righe e r colonne trasposta.py
  19. scrivere una funzione mat_identita(n) che, dato un naturale n, costruisce e restituisce la matrice identità di dimensione n matriceIdentita.py
  20. scrivere una funzione cerca(testo, parola) che, date due sequenze (liste o stringhe) testo e parola, restituisce la posizione iniziale della prima occorrenza di parola in testo. Se non c'è alcuna occorrenza restituisce -1. cercaStringa.py. Modificare poi la funzione per cercare la posizione dell'ultima occorrenza invece della prima.
  21. analogamente al punto precedente, scrivere una funzione cerca_matrice_in_matrice(mat_grande, mat_piccola) che, date due matrici, restituisce la posizione iniziale (coppia di coordinate) della prima occorrenza di mat_piccola in mat_grande. Se non c'è alcuna occorrenza restituisce la coppia -1, -1. Una bozza della soluzione è mostrata in cercaMatrice.py.
  22. scrivere una funzione che verifica (restituisce True o False) se una matrice quadrata è triangolare SUPERIORE (tutti gli elementi SOTTO la diagonale principale sono 0)
    5  2  7  0  3  5
    0  4  7  0  2  2
    0  0  6  8  4  2
    0  0  0  4  3  1
    0  0  0  0  7  3
    0  0  0  0  0  1
    
  23. scrivere una funzione che verifica (restituisce True o False) se una matrice quadrata è una matrice diagonale (tutti gli elementi tranne la diagonale principale sono 0)
    6  0  0  0
    0  4  0  0
    0  0  7  0
    0  0  0  0
    
    verificaDiagonale.py