Python è un linguaggio di programmazione versatile e potente, ideale per chi vuole cimentarsi in esercizi che uniscono logica, creatività e divertimento. In questo articolo, esploreremo una serie di esercizi di Python orientati alle funzioni con un tema enigmistico. Ogni esercizio è stato progettato per migliorare le tue competenze di programmazione e stimolando al contempo la tua curiosità.

  1. Funzione per calcolare il valore assoluto di un numero intero
    Scrivi una funzione chiamata valore_assoluto che prende un parametro intero e restituisce il valore assoluto di questo numero.
    Esempio: Input: -5, Output: 5
    Obiettivo didattico: Introduce il concetto di valore assoluto e la gestione dei numeri negativi.
  2. Confronto tra moduli di due numeri interi
    Scrivi un programma che determina quale dei due numeri ha il modulo maggiore.
    Esempio: Input: 7, -10, Output: -10
    Obiettivo didattico: Rafforza la comprensione del valore assoluto e il confronto tra valori.
  3. Calcolo della differenza tra il massimo e il minimo
    Scrivi una funzione che restituisce la differenza tra il numero più grande e quello più piccolo tra tre numeri interi.
    Esempio: Input: 5, 2, 8, Output: 6
    Obiettivo Didattico: Aiuta a trovare il massimo e il minimo in una serie di numeri e a calcolare la differenza.
  4. Ricerca di un elemento in una lista e identificazione dell’indice
    Scrivi una funzione che, dato un elemento e una lista, verifica se l’elemento è presente e restituisce il suo indice.
    Esempio: Input: [1, 2, 3, 4, 5], 3, Output: “Elemento trovato all’indice 2”
    Obiettivo didattico: Introduce la ricerca di elementi in una lista e la gestione degli indici.
  5. Il codice ribelle
    Scrivi una funzione che rimuove tutte le sequenze di lettere consecutive uguali in una stringa.
    Esempio: Input: “abbacddc”, Output: “ac”
    Obiettivo didattico: Aiuta a manipolare le stringhe e rimuovere caratteri indesiderati.
  6. Trova il valore ripetuto tra tre numeri naturali
    Scrivi una funzione che restituisce il valore ripetuto tra tre numeri naturali, o -1 se non ci sono ripetizioni.
    Esempio: Input: 5, 3, 5, Output: 5
    Obiettivo didattico: Introduce la gestione delle condizioni e la ricerca di valori ripetuti.
  7. Conversione di un carattere al codice ASCII
    Scrivi una funzione che restituisce il codice ASCII di un carattere.
    Esempio: Input: ‘A’, Output: 65
    Obiettivo didattico: Aiuta a comprendere la rappresentazione numerica dei caratteri.
  8. Funzione per convertire il tempo in secondi
    Scrivi una funzione che converte ore, minuti e secondi in secondi.
    Esempio: Input: 1, 30, 45, Output: 5445
    Obiettivo didattico: Introduce la conversione di unità di tempo.
  9. Scambio fruttato
    Scrivi una funzione che trasferisce frutta tra due contenitori senza superare la capacità del secondo.
    Esempio: Input: Contenitore A: (quantità: 8, capacità: 10), Contenitore B: (quantità: 2, capacità: 6), Output: Contenitore A: 4, Contenitore B: 6
    Obiettivo didattico: Aiuta a comprendere la gestione delle condizioni in scenari reali.
  10. Calcolo dei divisori di un numero intero
    Scrivi una funzione che restituisce il conteggio dei divisori di un numero intero.
    Esempio: Input: 12, Output: 6
    Obiettivo didattico: Introduce il concetto di divisori e il conteggio condizionale.
  11. Trova la parola più lunga in una lista di parole
    Scrivi una funzione che restituisce la parola più lunga in una lista.
    Esempio: Input: [“cane”, “elefante”, “giraffa”, “orso”], Output: “elefante”
    Obiettivo didattico: Aiuta a lavorare con le stringhe e trovare il valore massimo in una lista.
  12. Equilibrio delle finanze di Robin Hood
    Scrivi una funzione che equilibra la quantità di denaro tra due persone, restituendo la somma spostata.
    Esempio: Input: 100, 50, Output: “Ho spostato 25 e ora il ricco ha 75, e il povero ha 75”
    Obiettivo didattico: Introduce la gestione delle condizioni in scenari sociali.
  13. Chiave dell’armonia
    Scrivi una funzione che verifica se un numero è armonioso (somma delle cifre divisibile per 3 e prodotto pari).
    Esempio: Input: 123, Output: True
    Obiettivo didattico: Aiuta a lavorare con le cifre di un numero e verificare condizioni complesse.
  14. Algoritmo di ordinamento per un array
    Scrivi una funzione che ordina un array di numeri in ordine crescente.
    Esempio: Input: [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5], Output: [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
    Obiettivo didattico: Introduce l’ordinamento e gli algoritmi di base.
  15. Funzione per controllare se ci sono almeno 4 vocali diverse nella parola
    Scrivi una funzione che verifica se una parola contiene almeno quattro vocali diverse.
    Esempio: Input: “educazione”, Output: True
    Obiettivo didattico: Aiuta a lavorare con le vocali e verificare condizioni specifiche.
  16. Funzione “anagramma”
    Scrivi una funzione che verifica se due parole sono anagrammi.
    Esempio: Input: “listen”, “silent”, Output: “Anagramma”
    Obiettivo didattico: Introduce il concetto di anagrammi e confronto tra stringhe.
  17. Verifica di un numero perfetto
    Scrivi una funzione che verifica se un numero è perfetto.
    Esempio: Input: 28, Output: “Perfetto”
    Obiettivo didattico: Aiuta a comprendere i numeri perfetti e le condizioni matematiche.
  18. Funzione di elevamento reciproco tra due numeri interi
    Scrivi una funzione che calcola il primo numero elevato alla potenza del secondo e viceversa.
    Esempio: Input: 2, 3, Output: 8, 9
    Obiettivo didattico: Introduce il concetto di elevamento a potenza.
  19. Traduzione di frasi in Rövarspråket
    Scrivi una funzione che traduce una parola o frase in rövarspråket.
    Esempio: Input: “casa”, Output: “cocasosa”
    Obiettivo didattico: Aiuta a manipolare le stringhe e tradurre linguaggi divertenti.
  20. Calcolo della cifra più significativa di un numero intero
    Scrivi una funzione che calcola la cifra più significativa di un numero positivo.
    Esempio: Input: 4567, Output: 4
    Obiettivo didattico: Introduce il concetto di cifre significative e l’estrazione di informazioni.
  21. Numero mistico
    Scrivi una funzione che identifica il “numero mistico” in una sequenza.
    Esempio: Input: [3, 7, 3, 9, 6, 7], Output: 7
    Obiettivo didattico: Aiuta a lavorare con le liste e identificare valori specifici.
  22. Cifre danzerine
    Scrivi una funzione che verifica se un numero è “danzerino” (alternanza tra cifre).
    Esempio: Input: 1324, Output: True
    Obiettivo didattico: Introduce il concetto di alternanza tra cifre.
  23. Funzione per la compressione di stringhe
    Scrivi una funzione che comprime una stringa con l’algoritmo di run-length encoding.
    Esempio: Input: “AAAABBBCCDAA”, Output: “4A3B2C1D2A”
    Obiettivo didattico: Aiuta a comprimere stringhe e implementare algoritmi di base.
  24. Funzione per il calcolo della potenza con gestione di esponente negativo
    Scrivi una funzione che calcola una base elevata a un esponente, considerando esponenti negativi.
    Esempio: Input: 2, -3, Output: 0.125
    Obiettivo didattico: Introduce la gestione degli esponenti negativi nelle operazioni matematiche.

Che tu sia un principiante o un programmatore esperto, questi esercizi ti offriranno una sfida stimolante e gratificante. Buon coding!