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

Rispondere a