Random Python

Random Python

I numeri random in Python si utilizzano per tanti scopi. Facciamo degli esempi per capirne meglio il funzionamento.

Random Python – primo esempio

Scrivere un programma che generi n numeri casuali in un intervallo stabilito dall’utente e li visualizzi in output.

Quindi innanzitutto importiamo il modulo random.

#import random

Poi chiediamo di inserire in input i valori dell’intervallo che memorizziamo in due variabili ad esempio di nome x e y.

Chiediamo anche di inserire la quantità di numeri casuali da generare.


import random

x = int(input('Inserisci il primo estremo: '))
y = int(input('Inserisci il secondo estremo: '))

n = int(input('Quanti numeri? vuoi: '))

Adesso possiamo generare i numeri casuali con il ciclo for, utilizzando randint nell’intervallo (x,y).

Ecco dunque il programma completo sui numeri random in Python in un intervallo stabilito dall’utente.


import random

x = int(input('Inserisci il primo estremo: '))
y = int(input('Inserisci il secondo estremo: '))

n = int(input('Quanti numeri? vuoi: '))

for i in range(n):
  casuale = random.randint(x,y)
  print(casuale,end=' ')

Attenzione però se l’utente inserisce il valore di y più piccolo di x?

Il programma restituisce un errore nel punto randint(x,y) in quanto il valore di x deve essere inferiore al valore di y.

Dunque possiamo fare un controllo sui dati inseriti richiedendo all’utente di inserire nuovamente i dati. Oppure si possono scambiare anche le due variabili.

Scambiando le variabili si ha dunque:


import random

x = int(input('Inserisci il primo estremo: '))
y = int(input('Inserisci il secondo estremo: '))

n = int(input('Quanti numeri? vuoi: '))

if x > y:
    x,y = y,x
    
for i in range(n):
  casuale = random.randint(x,y)
  print(casuale,end=' ')

Con un controllo dell’input potremmo invece scrivere in questo modo:


import random

x = int(input('Inserisci il primo estremo: '))
y = int(input('Inserisci il secondo estremo: '))

while x > y:
    print('Il primo estremo deve essere inferiore al secondo!')
    x = int(input('Inserisci il primo estremo: '))
    y = int(input('Inserisci il secondo estremo: '))

n = int(input('Quanti numeri? vuoi: '))
    
for i in range(n):
  casuale = random.randint(x,y)
  print(casuale,end=' ')

Random Python – secondo esempio

Generare 100 numeri casuali da 1 a 200 a step di 2, sommarli e fare la media.

A step di 2 da 1 a 200-1, vuol dire che si generano solo numeri dispari da 1 a 199.

Quindi utilizziamo a tale scopo la funzione randrange che a differenza di randint permette di indicare anche lo step.

Ecco dunque il codice completo dell’algoritmo sui numeri random in Python:


import random

n = 100
somma = 0

for i in range(n):
  casuale = random.randrange(1,200,2)
  print(casuale,end=' ')
  somma += casuale

media = somma/n

print('La media è: ', media)

Chiaramente il calcolo della media si effettua come abbiamo fatto tante volte con i numeri non casuali.

In questa lezione abbiamo sviluppato alcuni semplici esercizi sui numeri random in Python, nelle prossime lezioni continueremo ancora ad esercitarci.

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

Esercizi Python

Esercizi Python

In questa lezione affronteremo alcuni semplici esercizi sul linguaggio Python.

Esercizi Python – primo esercizio

Prendere in input l’ipotenusa e il cateto di un triangolo rettangolo e il lato di un quadrato. Quindi verificare se le due figure sono equivalenti.

Innanzitutto chiediamo di immettere i dati in input, in questo caso il cateto, l’ipotenusa e il lato di un quadrato.

ipotenusa=int(input('Inserisci l\'ipotenusa: '))
cateto=int(input('Inserisci il cateto: '))

lato=int(input('Inserisci il lato del quadrato: '))

Dopo calcoliamo il secondo cateto del triangolo rettangolo.

Per effettuare questo calcolo abbiamo bisogno di utilizzare la radice quadrata ovvero la funzione sqrt. Quindi dobbiamo importare il modulo math.

Inseriamo il print(cateto) solo per verificare il risultato, poi lo elimineremo.

Ecco dunque il codice del primo degli esercizi in Python che vi propongo in questa lezione:

import math

ipotenusa=int(input('Inserisci l\'ipotenusa: '))
cateto=int(input('Inserisci il cateto: '))

lato=int(input('Inserisci il lato del quadrato: '))

cateto2=math.sqrt(ipotenusa**2-cateto**2)

print(cateto2)

Ma attenzione, se inseriamo un valore dell’ipotenusa inferiore al cateto chiaramente si avrà un messaggio di errore. Infatti non è possibile effettuare la radice quadrata di un numero negativo.

Allora potremmo modificare il codice in modo da effettuare un controllo sui dati inseriti in input.

Quindi modifichiamo il codice in questo modo:

import math

ipotenusa=int(input('Inserisci l\'ipotenusa: '))
cateto=int(input('Inserisci il cateto: '))

lato=int(input('Inserisci il lato del quadrato: '))

if ipotenusa>cateto:
    cateto2=math.sqrt(ipotenusa**2-cateto**2)
    print(cateto2)
else:
    print('I dati inseriti non sono validi')

Adesso ci rimane da calcolare le aree delle due figure geometriche.

Quindi procediamo a calcolare l’area del triangolo rettangolo solo se l’ipotenusa è maggiore del cateto. Calcoliamo poi anche l’area del quadrato ed infine valutiamo se le due figure sono equivalenti.

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

corsi Python

Ecco dunque il codice completo:

import math

ipotenusa=int(input('Inserisci l\'ipotenusa: '))
cateto=int(input('Inserisci il cateto: '))

lato=int(input('Inserisci il lato del quadrato: '))

if ipotenusa>cateto:
    cateto2=math.sqrt(ipotenusa**2-cateto**2)
    area_t=cateto*cateto2/2
    area_q=lato**2
    if area_q==area_t:
        print('Sono equivalenti!')
    else:
        print('Non sono equivalenti!')
else:
    print('I dati inseriti non sono validi')

Secondo esercizio

Continuiamo con altri esercizi in Python utilizzando sempre le istruzioni condizionali.

Prendere in input il prezzo di un prodotto, poi applicare uno sconto del 20% se il prezzo è superiore a € 50.00, del 10% altrimenti. Visualizzare in output il prezzo scontato.

L’algoritmo si risolve facilmente con l’uso delle istruzioni condizionali.

Basta sottrarre al prezzo iniziale il 20% del prezzo del prodotto.

In definitiva posso scrivere:

prezzo=float(input('Inserisci il prezzo: '))
if prezzo>50:
    prezzo-=prezzo*20/100
else:
    prezzo-=prezzo*10/100

print('Il prezzo scontato è: ', prezzo)

O anche più semplicemente:

prezzo=float(input('Inserisci il prezzo: '))
if prezzo>50:
    prezzo*=80/100
else:
    prezzo*=90/100

print('Il prezzo scontato è: ', prezzo)

E quindi anche prezzo*=0.8.

In questa lezione abbiamo sviluppato alcuni semplici esercizi sul linguaggio Python, nelle prossime lezioni ne affronteremo degli altri.

Alcuni link utili

Corso in diretta su Python

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