Un saluto a tutti, qui in basso, la descrizione del problema
ho messo in allegato il codice in modo che se qualcuno volesse testarlo
gli basterebbe fare copia e incolla. Grazie in anticipo.
1) il programma parte con una serie di liste e variabili impostate come
potete leggere dal file allegato
lungo le prime righe del codice
2)in avvio, e a ripetizione, viene chiesta l'immissione di un numero
compreso tra 0 e 36
3) dopo aver inserito in input i seguenti nove numeri
(2,15,26,9,20,33,5,18 e 29)
mi ritrovo con i seguenti valori nelle liste e nelle variabili che
corrispondono esattamente
a quanto mi aspettavo:
conteggio_colonne = 1
ritardo_colonne = [9, 0, 1]
scommessa_su_colonne = [0, 0, 0]
combinazioni_oltre_i_limiti = [[1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31,
34]]
ritardi_combinazioni_oltre_i_limiti = [9]
scrematura = [[1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34]]
ritardi_scrematura = [9]
scommessa_su_scrematura = []
selezione_multipla = []
ritardi_selezione_multipla = []
da_giocare = [[1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34]]
ritardi_da_giocare = [9]
scommesse_da_giocare = [1]
a questo punto, in input immetto il numero 1 e invece di ritovarmi con
la lista
ritardi_scrematura vuota, me la ritrovo con un valore di 9.
Stessa cosa con la lista ritardi_da_giocare.
Inoltre, la lista scommesse_da_giocare invece che tornare ad avere un
unico valore pari a zeo,
ha un elemento con valore 1. Ciò che non comprendo, è che se eseguo il
codice
riga per riga per verificare le modifiche delle variabili e delle liste,
tutto torna come mi aspetto. Se eseguo il run in toto, invece, dopo aver
immesso
il numero 1 la situazione è questa:
questa e' la lista combinazioni_oltre_i_limiti []
questi sono i ritardi delle combinazioni oltre i limiti []
Queste sono le combinazioni nella lista scrematura []
Questi sono i ritardi della lista scrematura [9] #doveva essere vuota
Queste sono le scommesse della lista scrematura []
Questa e' la lista da_giocare []
Questa e' la lista ritardi_da_giocare [9] #doveva essere vuota
Questa e' la lista scommesse_da_giocare [1] #doveva tornare con un
elemento pari a 0
Ma dov'è l'errore????? sto impazzendo!!!
numeri_in_gioco = tuple(range(0,37))
conteggio_colonne = 0
prima_colonna = list(range(1,35,3))
seconda_colonna = list(range(2,36,3))
terza_colonna = list(range(3,37,3))
riepilogo_colonne = [prima_colonna, seconda_colonna, terza_colonna]
ritardo_colonne = [0, 0, 0]
scommessa_su_colonne = [0, 0, 0]
importi_scommesse_colonne = (10, 20, 30, 40, 60, 90, 150, 220, 320, 490, 740,
1100)
nome_colonna = ["prima colonna", "seconda colonna", "terza colonna"]
combinazioni_oltre_i_limiti = []
ritardi_combinazioni_oltre_i_limiti = []
# scommessa_su_combinazioni_oltre_i_limiti = []
scrematura = []
ritardi_scrematura = []
scommessa_su_scrematura = []
selezione_multipla = []
ritardi_selezione_multipla = []
da_giocare = []
ritardi_da_giocare = []
scommesse_da_giocare = [0]
verifica_importo_congruo = 0
while verifica_importo_congruo == 0:
capitale_disponibile = int(input("Scrivi importo non inferiore a 3280 "))
if capitale_disponibile < 3280:
print("Devi inserire un importo non inferiore a 3280 Euro")
print()
else:
print()
print("Ok, importo sufficiente")
verifica_importo_congruo += 1
ripetizione_partita = 0
while ripetizione_partita == 0:
ripetizione_numero_uscito = 0
while ripetizione_numero_uscito == 0:
verifica_numero_uscito = 0
while verifica_numero_uscito == 0:
print()
print("Il tuo attuale capitale a disposizione e' di",
capitale_disponibile, "Euro")
print()
numero_uscito = int(input("inserisci il numero uscito "))
print()
if numero_uscito not in numeri_in_gioco:
print("Devi scrivere un numero compreso tra 0 e 36")
print()
verifica_numero_uscito += 1
else:
conferma_risposta = 0
while conferma_risposta == 0:
verifica_risposta = str(
input("Sei sicuro che il numero uscito e' " +
str(numero_uscito) + "? Scrivi s oppure n "))
print()
if verifica_risposta is not "s" and verifica_risposta is
not "S" and verifica_risposta is not "n" and verifica_risposta is not "N":
print("Devi scrivere s oppure n")
print()
conferma_risposta = 0
elif verifica_risposta == "n" or verifica_risposta == "N":
print()
conferma_risposta += 1
ripetizione_numero_uscito = 0
verifica_numero_uscito += 1
else:
conferma_risposta += 1 #Esce dal ciclo while
di conferma_risposta
ripetizione_numero_uscito += 1 #Esce dal ciclo while
di ripetizione_numero uscito
verifica_numero_uscito += 1 #Esce dal ciclo while
di verifica_numero uscito
#Da questo punto tutti i confronti e le verifiche tra
numero uscito e le liste presenti
# Da qui partono le verifiche e i confronti tra
numero_uscito e le liste colonne
lunghezza_ritardo_colonne = len(ritardo_colonne)
for i in range(lunghezza_ritardo_colonne):
if numero_uscito not in riepilogo_colonne[i]:
ritardo_colonne[i] += 1
else: # Se numero_uscito è in riepilogo_colonne[i]:
ritardo_colonne[i] = 0
scommessa_su_colonne[i] = 0
if riepilogo_colonne[i] in
combinazioni_oltre_i_limiti: # test
conteggio_colonne -= 1 # test
elimino =
combinazioni_oltre_i_limiti.index(riepilogo_colonne[i]) # test
del combinazioni_oltre_i_limiti[elimino] #
test
del
ritardi_combinazioni_oltre_i_limiti[elimino] # test
# del
scommessa_su_combinazioni_oltre_i_limiti[elimino]#test
if riepilogo_colonne[i] in scrematura: # test
elimino =
scrematura.index(riepilogo_colonne[i]) # test
del scrematura[elimino] # test
del ritardi_scrematura[elimino] # test
# del scommessa_su_scrematura[elimino]# test
if riepilogo_colonne[i] in selezione_multipla:
# test
elimino =
selezione_multipla.index(riepilogo_colonne[i]) # test
del selezione_multipla[elimino] # test
del ritardi_selezione_multipla[elimino] #
test
if riepilogo_colonne[i] in da_giocare: # test
elimino =
da_giocare.index(riepilogo_colonne[i]) # test
del da_giocare[elimino] # test
del ritardi_da_giocare[elimino] # test
scommesse_da_giocare[elimino] = 0 # test
# Da questo punto in poi si verifica la presenza di
elementi nelle liste ritardi tra i limiti
# imposti che comporta la successiva stampa di
riepilogo e richiesta di scelta su cosa puntare.
# X presenza in ritardo_colonne di ritardi a partire
dal limite impostato:
limite = 9 # Se ritardo_colonne raggiunge questo
limite viene aggiunto a lista combinazioni_oltre_i_limiti
# conteggio_colonne = 0
for i in range(lunghezza_ritardo_colonne):
if ritardo_colonne[i] == limite:
conteggio_colonne += 1
combinazioni_oltre_i_limiti +=
[riepilogo_colonne[
i]] #
Aggiunge la colonna con 9 ritardi a combinazioni_oltre_i_limiti
ritardi_combinazioni_oltre_i_limiti +=
[ritardo_colonne[
i]]
# Aggiunge i ritardi della colonna di cui sopra ai ritardi di
combinazioni_oltre_i_limiti
elif ritardo_colonne[i] > limite: # Se la colonna
ha piu' di 9 ritardi
# conteggio_colonne += 1
posizione =
combinazioni_oltre_i_limiti.index(riepilogo_colonne[
i]) # trova la posizione della colonna nella lista
combinazioni_oltre_i_limiti
ritardi_combinazioni_oltre_i_limiti[
posizione] += 1 # incrementa di una unita'
il ritardo della colonna in ritardi_combinazioni_oltre_i_limiti
else: # Non c'è nessuna colonna che abbia raggiunto
il limite
print()
if conteggio_colonne == 1: # C'è una sola colonna
che ha raggiunto o superato il limite
for i in range(lunghezza_ritardo_colonne):
if ritardo_colonne[i] >= limite:
print()
print("La", nome_colonna[i], "e' in
ritardo da", ritardo_colonne[i],
"estrazioni")
print()
elif conteggio_colonne > 1: # C'e' piu' di una
colonna che ha raggiunto o superato il limite
print()
print()
print("Ci sono", conteggio_colonne, "colonne'
in ritardo:")
print()
for i in range(lunghezza_ritardo_colonne):
if ritardo_colonne[i] >= limite:
print()
print("La'", nome_colonna[i], "e' in
ritardo da", ritardo_colonne[i],
"estrazioni")
lunghezza_combinazioni_oltre_i_limiti =
len(combinazioni_oltre_i_limiti)
if lunghezza_combinazioni_oltre_i_limiti == 0:
print()
print("Non c'è nulla su cui puntare. Salta il giro")
print()
print()
print("Prima che una combinazione raggiunga il
limite:") # COMANDO PROVVISORIO PER TEST
print() # COMANDO PROVVISORIO PER TEST
print("questa e' la lista
combinazioni_oltre_i_limiti",
combinazioni_oltre_i_limiti) # COMANDO
PROVVISORIO PER TEST SU LISTA
print("questi sono i ritardi delle combinazioni
oltre i limiti",
ritardi_combinazioni_oltre_i_limiti) #
COMANDO PROVVISORIO PER TEST SU LISTA
# print("Queste sono le scommesse di
combinazioni_oltre_i_limiti",scommessa_su_combinazioni_oltre_i_limiti)#COMANDO
PROVVISORIO PER TEST
print() # COMANDO PROVVISORIO PER TEST
print("Queste sono le combinazioni nella lista
scrematura",
scrematura) # COMANDO PROVVISORIO
print("Questi sono i ritardi della lista
scrematura",
ritardi_scrematura) # COMANDO PROVVISORIO
print("Queste sono le scommesse della lista
scrematura",
scommessa_su_scrematura) # COMANDO
PROVVISORIO PER TEST
print()
print("Questa e' la lista da_giocare",da_giocare)
print("Questa e' la lista ritardi_da_giocare",
ritardi_da_giocare)
print("Questa e' la lista
scommesse_da_giocare",scommesse_da_giocare)
print()
print("questa e' la lista ritardo_colonne",
ritardo_colonne) # COMANDO PROVVISORIO PER
TEST
print("Questa e' la variabile conteggio colonne",
conteggio_colonne) # COMANDO PROVVISORIO PER
TEST
elif lunghezza_combinazioni_oltre_i_limiti == 1:
scrematura = combinazioni_oltre_i_limiti
ritardi_scrematura.insert(0,
ritardi_combinazioni_oltre_i_limiti[0])
lunghezza_scrematura = len(scrematura)
#if lunghezza_scrematura == 1:
da_giocare = scrematura
ritardi_da_giocare.insert(0, ritardi_scrematura[0])
scommesse_da_giocare[0] += 1
print("Quando una sola combinazione raggiunge il
limite:") # COMANDO PROVVISORIO PER TEST
print() # COMANDO PROVVISORIO PER TEST
print("questa e' la lista
combinazioni_oltre_i_limiti",combinazioni_oltre_i_limiti) # COMANDO
PROVVISORIO PER TEST SU LISTA
print("questi sono i ritardi delle combinazioni
oltre i limiti",ritardi_combinazioni_oltre_i_limiti) # COMANDO PROVVISORIO PER
TEST SU LISTA
#print("Queste sono le scommesse di
combinazioni_oltre_i_limiti",scommessa_su_combinazioni_oltre_i_limiti) #
COMANDO PROVVISORIO PER TEST
print() # COMANDO PROVVISORIO PER TEST
print("Queste sono le combinazioni nella lista
scrematura",scrematura) # COMANDO PROVVISORIO
print("Questi sono i ritardi della lista
scrematura",ritardi_scrematura) # COMANDO PROVVISORIO
print("Queste sono le scommesse della lista
scrematura",scommessa_su_scrematura) # COMANDO PROVVISORIO PER TEST
print("Questa e' la lista da_giocare",da_giocare)#
COMANDO PROVVISORIO PER TEST
print("Questa e' la lista
ritardi_da_giocare",ritardi_da_giocare)# COMANDO PROVVISORIO PER TEST
print("Questa e' la lista
scommesse_da_giocare",scommesse_da_giocare)# COMANDO PROVVISORIO PER TEST
print()# COMANDO PROVVISORIO PER TEST
print("questa e' la lista ritardo_colonne",
ritardo_colonne)# COMANDO PROVVISORIO PER TEST
print("Questa e' la lista
scommessa_su_colonne",scommessa_su_colonne)# COMANDO PROVVISORIO PER TEST
print("Questa e' la variabile conteggio
colonne",conteggio_colonne)#COMANDO PROVVISORIO PER TEST")
print()# COMANDO PROVVISORIO PER TEST
lunghezza_riepilogo_colonne = len(riepilogo_colonne)
for i in range(lunghezza_riepilogo_colonne):
if da_giocare[0] == riepilogo_colonne[i]:
if scommesse_da_giocare[0] < 3:
print()
print("La
colonna",da_giocare[0],"ha",ritardi_da_giocare[0],"ritardi")
print("Devi
scommettere",importi_scommesse_colonne[0],"Euro su",da_giocare[0])
_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python