Buongiorno a tutti. Mi trovo a combattere con una parte di codice che, se eseguito, giunge alla fine senza rilevare errori ma che non mi restituisce il risultato da me atteso. A fine esecuzione, mi ritrovo con una lista così composta:

>>> ritardo_cavalli
[None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

Il problema:

1) in questa lista in cui inizialmente erano presenti tutti i soli numeri zero, a fine esecuzione mi ritrovo la stessa lista incrementata da tutta una serie di None che non voglio ci siano (e non so perchè compaiono)

2) A fine esecuzione, la mia aspettativa era di trovarmi il valore di alcuni dei numeri zero presenti incrementato di 1 (a seconda del numero che viene richiesto in Input) e invece la situazione è quella sopra riportata.

3) Sono quasi certo di aver identificato l'errore nelle seguenti linee di codice:

lunghezza_ritardo_cavalli = len(ritardo_cavalli) #Conta gli elementi della lista ritardo_cavalli                         for posizione in range(lunghezza_ritardo_cavalli): # stabilisce che il ciclo for giri tante volte quanto lunga è la lista ritardo_cavalli                             valore = ritardo_cavalli[posizione] #Attribuisce a valore lo stesso numero che è nella posizione corrispondente alla lista ritardo_cavalli                             if numero_uscito not in riepilogo_cavalli[posizione]: #Se il numero uscito non è presente nella posizione esaminata di riepilogo_cavalli:                                 ritardo_cavalli[posizione] = ritardo_cavalli.insert(posizione,valore + 1) #il valore corrispondente alla posizione di ritardo_cavalli aumenta di 1
....
ma nonostante due interi pomeriggi trascorsi nel tentativo di ottenere quanto voluto, alla fine mi sono arreso sperando di trovare qui qualcuno che abbia la pazienza, la sicura capacità e la da me sperata volontà di darmi una mano. Perdonatemi ma in pratica sto studiando python da neanche un mese e forse mi sono spinto oltre i limiti di quelle che sono le mie reali conoscenze assimilate. Se riusciste a farmi avere una descrizione dell'errore e della soluzione, ve ne sarei molto grato.
Grazie in ogni caso.
A seguire, il codice:

from time import *
numeri_in_gioco = tuple(range(0,37))
#Ora le puntate le cui vincite sono pagate diciassette volte la posta
cavallo_0_1 = [0,1]
cavallo_0_2 = [0,2]
cavallo_0_3 = [0,3]
cavallo_1_2 = [1,2]
cavallo_1_4 = [1,4]
cavallo_2_3 = [2,3]
cavallo_2_5 = [2,5]
cavallo_3_6 = [3,6]
cavallo_4_5 = [4,5]
cavallo_4_7 = [4,7]
cavallo_5_6 = [5,6]
cavallo_5_8 = [5,8]
cavallo_6_9 = [6,9]
cavallo_7_8 = [7,8]
cavallo_7_10 = [7,10]
cavallo_8_9 = [8,9]
cavallo_8_11 = [8,11]
cavallo_9_12 = [9,12]
cavallo_10_11 = [10,11]
cavallo_10_13 = [10,13]
cavallo_11_12 = [11,12]
cavallo_11_14 = [11,14]
cavallo_12_15 = [12,15]
cavallo_13_14 = [13,14]
cavallo_13_16 = [13,16]
cavallo_14_15 = [14,15]
cavallo_14_17 = [14,17]
cavallo_15_18 = [15,18]
cavallo_16_17 = [16,17]
cavallo_16_19 = [16,19]
cavallo_17_18 = [17,18]
cavallo_17_20 = [17,20]
cavallo_18_21 = [18,21]
cavallo_19_20 = [19,20]
cavallo_19_22 = [19,22]
cavallo_20_21 = [20,21]
cavallo_20_23 = [20,23]
cavallo_21_24 = [21,24]
cavallo_22_23 = [22,23]
cavallo_22_25 = [22,25]
cavallo_23_24 = [23,24]
cavallo_23_26 = [23,26]
cavallo_24_27 = [24,27]
cavallo_25_26 = [25,26]
cavallo_25_28 = [25,28]
cavallo_26_27 = [26,27]
cavallo_26_29 = [26,29]
cavallo_27_30 = [27_30]
cavallo_28_29 = [28,29]
cavallo_28_31 = [28,31]
cavallo_29_30 = [29,30]
cavallo_29_32 = [29,32]
cavallo_30_33 = [30,33]
cavallo_31_32 = [31,32]
cavallo_31_34 = [31,34]
cavallo_32_33 = [32,33]
cavallo_32_35 = [32,35]
cavallo_33_36 = [33_36]
cavallo_34_35 = [34,35]
cavallo_35_36 = [35,36]
riepilogo_cavalli = [cavallo_0_1, cavallo_0_2, cavallo_0_3, cavallo_1_2, cavallo_1_4, cavallo_2_3, cavallo_2_5, cavallo_3_6, cavallo_4_5, cavallo_4_7, cavallo_5_6, cavallo_5_8, cavallo_6_9, cavallo_7_8, cavallo_7_10, cavallo_8_9,                      cavallo_8_11, cavallo_9_12, cavallo_10_11, cavallo_10_13, cavallo_11_12, cavallo_11_14, cavallo_12_15, cavallo_13_14, cavallo_13_16, cavallo_14_15, cavallo_14_17, cavallo_15_18, cavallo_16_17, cavallo_16_19,                      cavallo_17_18, cavallo_17_20, cavallo_18_21, cavallo_19_20, cavallo_19_22, cavallo_20_21, cavallo_20_23, cavallo_21_24, cavallo_22_23, cavallo_22_25, cavallo_23_24, cavallo_23_26, cavallo_24_27, cavallo_25_26,                      cavallo_25_28, cavallo_26_27, cavallo_26_29, cavallo_27_30, cavallo_28_29, cavallo_28_31, cavallo_29_30, cavallo_29_32, cavallo_30_33, cavallo_31_32, cavallo_31_34, cavallo_32_33, cavallo_32_35, cavallo_33_36,
                     cavallo_34_35, cavallo_35_36]
ritardo_cavalli = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
cavalli_da_giocare = []
print()
print()
verifica_importo_congruo = 0
while verifica_importo_congruo == 0:
    capitale_disponibile = int(input("Scrivi con quanti Euro intendi iniziare a giocare "))
    if capitale_disponibile < 2000 or capitale_disponibile > 3000:
        print("Devi inserire un importo compreso tra 2000 e 3000 Euro")
        print()
    else:
        print()
        print("Ok, ora attendi che la ruota finisca di girare e ...")
        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:
            sleep(2.5)
            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 "))                     if verifica_risposta is not "s" and verifica_risposta is not "n":
                        print("Devi scrivere s oppure n")
                        print()
                        conferma_risposta = 0
                    elif 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                         ripetizione_partita += 1          #Esce dal ciclo while di ripetizione_partita                         lunghezza_ritardo_cavalli = len(ritardo_cavalli) #Conta gli elementi della lista ritardo_cavalli                         for posizione in range(lunghezza_ritardo_cavalli): # stabilisce che il ciclo for giri tante volte quanto lunga è la lista ritardo_cavalli                             valore = ritardo_cavalli[posizione] #Attribuisce a valore lo stesso numero che è nella posizione corrispondente alla lista ritardo_cavalli                             if numero_uscito not in riepilogo_cavalli[posizione]: #Se il numero uscito non è presente nella posizione esaminata di riepilogo_cavalli:                                 ritardo_cavalli[posizione] = ritardo_cavalli.insert(posizione,valore + 1) #il valore corrispondente alla posizione di ritardo_cavalli aumenta di 1                                 if valore > 42:#Se valore (ritardo delle uscite) è maggiore di 42:                                     cavalli_da_giocare = cavalli_da_giocare.sort()#Ordina la lista cavalli_da giocare
                                    print()
                                if valore == 42:#Se valore (ritardo delle uscite) è uguale a 42:                                     cavalli_da_giocare = cavalli_da_giocare.append(ritardo_cavalli[posizione])#Aggiunge alla lista cavalli_da_giocare l'elemento di ritardo_cavalli che è giunto a 42 ritardi                                     cavalli_da_giocare = cavalli_da_giocare.sort()  # Ordina la lista cavalli_da giocare
                                    print()
else:                                                #Se numero_giocato è nella posizione riepilogo della lista riepilogo_cavalli:                                 ritardo_cavalli[posizione] = ritardo_cavalli.insert(posizione, 0)                                 if ritardo_cavalli[posizione] in cavalli_da_giocare:                                     cavalli_da_giocare.remove = cavalli_da_giocare(ritardo_cavalli[posizione])                         lunghezza_cavalli_da_giocare = len(cavalli_da_giocare)  # Conta gli elementi della lista cavalli_da_giocare
                        if lunghezza_cavalli_da_giocare > 0:
                            print()
                            print("E' ora possibile giocare queste combinazioni cavallo:")
                            print()
                            for i in range(lunghezza_cavalli_da_giocare):  # Stabilisce che il ciclo for giri tante volte quanto lunga è la lista_cavalli_da_giocare                                 print(cavalli_da_giocare[i])  # Stampa il contenuto della lista cavalli_da_giocare
                                print()
                        else:  # Se lista cavalli_da_giocare è vuota:
                            print()
                            print("Non ci sono combinazioni cavallo da giocare")
                            print()

_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Reply via email to