<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Il 24/06/2015 02:41, Alessandro Re ha scritto:<br>
    <blockquote
cite="mid:CAD5XE-GS__icngDQQYgMvk9HuFJ5YnFkXvJ-svt_XwWZeu7dbA@mail.gmail.com"
      type="cite">
      <pre wrap="">Se la roulette avesse avuto 10000 numeri cosa facevi, li elencavi uno
per uno? :P
Usa tuple(range(37)) anziché quell'elenco che hai scrtto.</pre>
    </blockquote>
    <b>Ciao Alessandro, innanzitutto grazie infinite. La tua risposta
      non solo mi ha risolto il problema ma mi ha aperto molti altri
      orizzonti:</b><b><br>
    </b><b>quello sopra, è uno di questi ma, come avrai capito, sono
      alle prime armi con python e lavorando per 9 ore al giorno per 6
      giornia settimana,</b><b><br>
    </b><b>i miei progressi sono molto lenti. Ho molte idee per la testa
      e provo a metterle in pratica con quel poco che ho finora
      acquisito. Quanto sopra, mi piace molto.</b><br>
    <br>
    <pre wrap="">passe = (19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36)
manque = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18)
</pre>
    <pre wrap="">Per questi usa tuple(range(19, 37)) e tuple(range(1, 19)).

 <b>Vedi sopra!!!</b>

Questa sfilza di stringhe potresti formattarla meglio, come ad esempio

puntate_possibili = (
    "passe",
    "manque",
    "pari",
    "dispari",
    "nero",
    "rosso",
    "prima

ecc, anche se esce una cosa lunghissima, personalmente preferisco un
codice più lungo e leggibile che di qualche riga in meno e che mi fa
incrociare gli occhi.

<b>Qui non ti seguo: in realtà il mio codice prevede una ulteriore lista di altre 65 variabili (che mi sono risparmiato dal</b><b>
</b><b>riportare) e sinceramente, ritengo l'insieme troppo lungo per scriverlo riga per riga)</b>

Ho notato che usi un sacco di print(); non voglio dirti che è una cosa
brutta, ma personalmente non mi piace mischiare gli stili: o usi una
print per ogni riga, o usi \n in una print sola. Io andrei di una
print per ogni riga. Ti consiglio, molto umilmente, di adottare uno
stile ed essere coerente ad esso.

<b>Hai assolutamente ragione!!!</b>

capitale_disponibile = eval(input("Per cominciare, indicami l'importo che
intendi mettere a disposizione per il gioco (si consiglia almeno 2500 Euro)"
))
eval(input()) è una cosa che vuoi evitare quasi sempre. Non usarlo.
Usa int(input()) se vuoi ottenere un intero oppure usa usa
ast.literal_eval(input()).

<b>Colpa delle prime iniziali informazioni acquisite con python 3: terrò conto del tuo consiglio</b>

Esistono opzioni migliori per formattare "incolonnando". Esempio:

print('Valore: {:12} Valore {:8}'.format(4, 123))

Usa format() e tutte le sue belle opzionI:

<b>Per me è una cosa ignorata, grazie dell'informazione!</b>

Se passe e manque e tutti_i_numeri li usi solo per tenere elenchi di
numeri, puoi fare 2 cose per migliorare il tuo codice:

1. usare set() anziché tuple(). Set è molto più veloce per vedere se
un elemento è al suo interno, rispetto a tuple, e la sintassi "valore
in insieme" è invariata e molto gradevole da leggere. Quindi, anziché
usare tuple(range(37)), usa set(range(37)). Se, invece, la tupla ti
serve perché è ordinata (set non preserva l'ordine), allora tieni la
tupla.

<b>Vedi sopra</b>
</pre>
    <br>
    <pre wrap="">uscita_manque =+1
</pre>
    <pre wrap="">E questa riga credo sia l'origine del tuo baco. Più volte nel codice scrivi

variabile =+1

e secondo me tu stai cercando di ottenere

variabile = variabile + 1

ma forse non sai, o non ti sei accorto, che l'operatore += è ben
diverso dai due operatori =+.

a += b vuol dire a = a + b
a =+ b vuol dire a = (+b) cioé a = b (+ indica il segno del numero).


<b>E qui casca l'asino!!!! L'errore era proprio questo e a questo punto non si trattava quindi di un errore</b><b>
</b><b>di semantica. Non riesco ancora bene a spiegarmi il perchè al primo passaggio in effetti il valore della</b><b>
</b><b>variabile aumenti di una unità (così come da me voluto) e poi tale valore resti invariato al passsaggio successivo</b><b>
</b><b>nè capisco perchè python preveda, a questo punto, l'utilizzo di una forma di scrittura così come involontariamente</b><b>
</b><b>io l'abbia scritta. Ad ogni modo, per non sbagliare, +1 = forever</b>

ultimo appunto: in genere è buona cosa fare controllo indipendenti
dalle maiuscole e dalle minuscole.
Quindi:

prosegui_gioco = input('Blah").lower()

così se l'utente inserisce SI o Si, il codice funziona comunque e non
è necessario scrivere tutto in minuscolo.

<b>Anche questo, merita tutto il mio apprezzamento</b>


Spero di averti risolto il problema e ti averti dato qualche dritta :P

<b>Problema risolto e sei stato un insegnante completo ed esaustivo.</b><b>
</b><b>Il codice che girava senza segnalare errori ma col risultato non voluto, era diventato frustrante.</b><b>
Avrei trascorso settimane prima di scoprire l'errore da solo e non sono neanche sicuro che così
sarebbe andata a finire.
</b><b>Grazie infinite</b><b>
</b></pre>
    <br>
  </body>
</html>