Programmare in Python

Programmare in Python

Programmare in Python è molto semplice ed in questa lezione svilupperemo un programma per trovare le cifre di un numero.

Quindi ad esempio se ho il numero 134, svilupperemo un programma per estrarre le sue cifre e cioè 1, 3 e 4.

Programmare in Python – Primo programma

Dati due numeri ‘p’ e ‘q’, scrivere la cifra di ‘p’ in posizione ‘q’.

Cioè se ad esempio inserisco:

p = 6751089 e q = 4

Devo stampare la cifra di p in posizione 4 che corrisponde a 1 partendo da destra.

Se invece inerisco:

p = 9556 e p = 3

Allora, partendo da destra devo stampare la terza cifra di p, cioè 5.

Infine se ad esempio inserisco p = 50 e q = 6 allora devo stampare 0.

Migliora le tue capacità di programmazione Python seguendo i nostri corsi in diretta!

corsi Python


Programmare in Python – Risoluzione

Innanzitutto chiediamo in input p e q. Dopo, se q è maggiore di 0 realizziamo un ciclo for che scorre la cifra p da destra fino ad arrivare alla posizione q.

All’interno del ciclo considero il resto della divisione di p diviso 10 e lo memorizzo nella variabile cifra finché non arrivo alla posizione q.

Alla fine del ciclo ottengo la cifra di ‘p‘ in posizione ‘q‘ e la stampo.

Se invece q non è maggiore di 0 allora stampo il messaggio: ‘la lunghezza di q non è idonea’.

Con questo semplice esercizio si impara a programmare in Python estraendo le cifre da un numero preso in input.

Ecco il codice completo in Python:

p = int(input('p: '))
q = int(input('q: '))

#se p = 6751089 e q = 4 deve stampare 1

if (q > 0):
    for i in range(q):
        cifra = p % 10
        p //= 10
         
    print(cifra)
else:
    print('Lunghezza di q non idonea!')


Secondo programma

Dato un numero ‘n’, verificare se la cifra delle unità è uguale alla somma delle altre. Stampate in output se la proprietà è verificata.

Anche in questo esempio impariamo a programmare in Python utilizzando i cicli e le strutture condizionali.

Facciamo alcuni esempi:

Prendiamo in considerazione il numero 5464. La proprietà non è verificata in quanto la somma di tutte le cifre tranne quella dell’unità è: 5+4+6 e non fa 4.

Se invece consideriamo il numero 538 la proprietà è verificata, infatti la somma di tutte le cifre tranne la cifra dell’unità è: 5+3 che fa 8.

Quindi prendiamo in input il numero n e ricaviamo subito la cifra delle unità, considerando il resto della divisione di n diviso 10 (nel caso di 5464 la cifra dell’unità è 4).

Dopo facciamo la divisione intera di n diviso 10, in modo tale da ottenere così il numero senza l’ultima cifra (nel caso di 5464 si ottiene 546).

Quindi con un ciclo while finché n è maggiore di 0, cioè finché le cifre non si esauriscono, troviamo tutte le altre cifre e le sommiamo (nel caso di 5464 sommerò 6 + 4 + 5 = 15).

Ancora una volta abbiamo imparato a programmare in Python lavorando sulle cifre dei numeri.

Ecco quindi il codice completo del programma in Python:

n = int(input('Inserisci un numero: '))

cifra_u = n % 10
n //= 10 #prendo tutto il numero tranne la prima cifra
s = 0

while n > 0:
    c = n % 10
    s += c #somma di tutte le cifre tranne la prima
    n //= 10
    
if s == cifra_u:
    print('Proprietà verificata')
else:
    print('Proprietà non verificata')

Noterete che solo alla fine controllo se la somma corrisponde alla cifra dell’unità. Se è vero visualizzo in output che la proprietà è verificata, altrimenti visualizzo che la proprietà non è verificata.

Questi sono solo alcuni esempi di come programmare in Python, nella prossima lezione affronteremo altri esercizi.

Alcuni link utili

Indice tutorial sul linguaggio Python

1 – Introduzione al linguaggio Python

2 – Le variabili

3 – Operatori aritmetici e di assegnazione

4 – Stringhe

5 – Casting

6 – Input e print

7 – Primi esercizi in Python

8 – Errori in Python

9 – Script Python

10 – Scambio di variabili

11 – Modulo math

Scratch

Scratch

Oggi con Scratch realizzeremo dei semplici algoritmi sequenziali.

Scratch – primo esempio

Supponiamo dunque di avere il seguente problema: la paga di un operaio è di 20,00 € all’ora. Sulla stessa paga viene effettuata una trattenuta pari al 30%. Chiedendo in input il numero delle ore lavorative svolte, visualizzare in output la paga netta.

Innanzitutto scegliamo uno sfondo ed uno sprite qualsiasi, io ad esempio ho scelto questi:

sfondo

Dopo ci serviranno le seguenti variabili:

variabili

ore: per prendere in input il numero di ore svolte;

paga: una costante dove impostiamo il valore 20;

trattenuta: un valore costante che rappresenta la trattenuta che viene applicata sulla paga;

paga_lorda: il calcolo della paga senza la trattenuta;

paga_netta: il calcolo della paga con la trattenuta.

Quindi dopo aver impostato le costanti paga e trattenuta, chiedo di inserire il numero delle ore svolte.

Poi faccio il calcolo della paga lorda e applico la trattenuta, ottenendo così la paga netta. Visualizziamo infine il risultato in output.

Dunque ecco il semplice algoritmo risolto con Scratch:

paga netta scratch

Chiaramente ci possono essere tante altre soluzioni valide.

Secondo esempio

Proponiamo un altro semplice algoritmo sequenziale con Scratch: una sala cinematografica ha 600 posti dei quali 280 in galleria e il resto in platea. Sapendo che il biglietto in platea costa 9 € e in galleria 3 € in più, calcolare l’incasso in una sera di tutto esaurito.

Scegliamo uno sfondo ed uno sprite a piacere e dopo creiamo le variabili necessarie.

variabili Scratch

posti_totali: rappresenta i posti totali della sala;

posti_galleria: rappresenta i posti della galleria;

posti_galleria: rappresenta i posti della platea;

p_platea: è il prezzo riservato alla platea;

p_galleria: è il prezzo riservato alla galleria.

Quindi dopo aver impostato i posti totali e i posti della galleria come definito nel problema, ci calcoliamo i posti della platea.

Impostiamo poi il prezzo della platea e ci ricaviamo il prezzo della galleria aggiungendo 3.

Calcoliamo poi l’incasso totale moltiplicando il prezzo per i posti della galleria e il prezzo per i posti della platea.

Visualizziamo infine l’incasso in output.

Ecco quindi l’algoritmo completo risolto con Scratch:

sala cinematografica

Questi sono solo alcuni semplici esempi con Scratch, più avanti ne proporrò degli altri.

Alcuni link utili

Indice tutorial scratch 3.0

Download Scratch 3

Indice argomenti

Numeri primi in Scratch

Massimo fra tre numeri in Scratch

Minimo tra 3 numeri

Numeri perfetti con algobuild

Numeri amicabili

Selecion sort in Scratch

Esempio di successione di Fibonacci con Algobuild

La successione di Fibonacci in C++

Sviluppo con Algobuild della successione di Fibonacci