Forum
>>
Principianti
>>
[Random] Estrae numeri non ripetendoli
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da kimal73 |
2016-12-22 10:29:08 - [Random] Estrae numeri non ripetendoli
|
ho scritto questo programmino davvero elementare in pyhton.
import random for i in range(10): numcasuale = random.randint(1,100) print(numcasuale) Però ora vorrei che i 10 numeri random non capitassero mai ripetuti. Ho provato con le condizioni IF ma se il programma trova un numero ripetuto si limita a non stamparlo e i numeri ottenuti diventano 9. Dovrebbe ripetere l'estrazione. QUalcuno può aiutarmi? --- Ultima modifica di kimal73 in data 2016-12-22 10:29:25 --- |
|
Scritto da Daniele aka Palmux |
2016-12-22 10:54:15 - Re: [Random] Estrae numeri non ripetendoli
|
Sono tante le strade che puoi seguire, una delle più facile potrebbe essere quella di controllare la lunghezza di una lista. Ma facciamo un esempio che vale più di mille parole:
>>> import random >>> l = [] >>> while len(l) < 10: ... numero = random.randint(1,100) ... if numero not in l: ... l.append(numero)Il while termina quando la lista ha 10 numeri al suo interno. Cya |
|
Scritto da kimal73 |
2016-12-22 11:17:35 - Re: [Random] Estrae numeri non ripetendoli
|
Grazie! lo provo subito.
Ma ho notato che su 10 numeri per ora anche con la prima versione che ho postato è molto difficile che mi dia un doppione. però non si sa mai! |
|
Scritto da kimal73 |
2016-12-22 11:29:13 - Re: [Random] Estrae numeri non ripetendoli
|
Non so però in quale momento inserire print(numero)
se lo inserisco all'interno del while mi inizia a stampare numeri all'infinito... --- Ultima modifica di kimal73 in data 2016-12-22 12:06:09 --- |
|
Scritto da kimal73 |
2016-12-22 12:01:20 - Re: [Random] Estrae numeri non ripetendoli
|
Ho risolto. Era solo un problema di indentazioni.
Tuttavia alla terza prova mi da un doppione: 60 < 14 55 60 < 1 68 34 11 25 30 il programmino corretto è questo import random l = [] while len(l) < 10: numero = random.randint(1,100) if numero not in l: l.append(numero) print(numero) La domanda che ora mi pongo è questa: con il modulo random si ottengono numeri casuali o pseudocasuali? come si possono ottenere numeri completamente casuali (ammesso che il caso per un elaboratore esista)? --- Ultima modifica di kimal73 in data 2016-12-22 12:17:34 --- |
|
Scritto da Daniele aka Palmux |
2016-12-22 21:41:51 - Re: [Random] Estrae numeri non ripetendoli
|
A parte il print, dov'è la differenza con quello che ti ho postato?
Come ti dice la libreria stessa, si tratta di numeri pseudo-casuali. Non mi sono mai posto il problema di creare numeri completamente casuali e non so nemmeno se sia possibile farlo con un computer. Ma lascio la parola a chi ne capisce più di me, non vorrei dire eresie. Cya |
|
Scritto da kimal73 |
2016-12-22 22:10:01 - Re: [Random] Estrae numeri non ripetendoli
|
Nessuna differenza. Ero io che avevo sbagliato le indentazioni e mi sballava tutto.
--- Ultima modifica di kimal73 in data 2016-12-22 22:10:17 --- |
|
Scritto da Daniele aka Palmux |
2016-12-22 22:13:06 - Re: [Random] Estrae numeri non ripetendoli
|
Ah ok.
Cya |
|
Scritto da trescon |
2021-11-21 19:12:46 - Re: [Random] Estrae numeri non ripetendoli
|
Buonasera, mi riallaccio a questa discussione...
Se io avessi 10 numeri (da 1 a 10 ) e li volessi estrarre TUTTI casualmente come posso fare ? Perchè con il codice esempio di Daniele, su 100 ne estrae 10 quindi anche se pesca 8/10 codici doppi riempie comunque la lista con 10 valori differenti. Se però io ho solo 10 valori e devo estrarli tutti casuali ma unici ... come posso fare ? Grazie ------
Alberto |
|
Scritto da ㎝ |
2021-11-21 19:26:48 - Re: [Random] Estrae numeri non ripetendoli
|
THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝ |
Pagina: 1
Esegui il login per scrivere una risposta.