Programma per verifica vincite lotteria

--- Ra ---

Utente Emerald
24 Dicembre 2021
830
21
503
371
Ciao ragazzi, oggi ho ritrovato sul computer un programmino che avevo scritto tempo fa in python per verificare, come da titolo, le proprie giocate sulle varie ruote italiane della lotteria nazionale. Il software utilizza un web scraper (che mi fece incazzare molto sinceramente ahahaha) per estrapolare i dati dal sito ufficiale Italiano delle estrazioni e confrontarli con i numeri che l'utente gioca. Ci sono molte parti di codice, probabilmente, che si potevano risparmiare e rendere più efficienti, però non ho mai avuto il tempo di correggerle. Il programma funziona bene e può essere utile a chi scommette frequentemente, provare per credere! Mi andava di condividerlo con la community. Per eseguirlo è necessario avere Python installato sul PC e i moduli "requests" e "BeautifulSoap" installati. Spero possa piacervi. Saluti by CrazyMonk!

Python:
import bs4
import requests

numeri_estratti = []
numeri_giocati = []
ruota_Bari = []
ruota_Cagliari = []
ruota_Firenze = []
ruota_Genova = []
ruota_Milano = []
ruota_Napoli = []
ruota_Palermo = []
ruota_Roma = []
ruota_Torino = []
ruota_Venezia = []
ruota_Nazionale = []

def estrai_sorgente(url):
    sorgente = requests.get(url).text
    soup = bs4.BeautifulSoup(sorgente)
    for i in soup.findAll("td"):
        number = i.get_text()
        numeri_estratti.append(number)

def azione_utente():
    print("-" * 50)
    print("Programma per verificare i numeri del lotto giocati")
    print("-" * 50)
    print("Inserire quanti numeri si vuole giocare (massimo 5):")
    numeri = int(input())
    while (numeri < 1 or numeri > 5):
        print("Errore.Inserire un valore compreso tra 1 e 5")
        numeri = int(input())
    for i in range(numeri):
        print("Inserire numero " + str(i+1))
        numero_giocato = int(input())
        while (numero_giocato < 1 or numero_giocato > 90):
            print("Errore. Inserire un numero compreso tra 1 e 90")
            numero_giocato = int(input())
        numeri_giocati.append(numero_giocato)
    print("Hai giocato i seguenti numeri:")
    print(numeri_giocati)
    for i in range (len(numeri_estratti)):
        if (i >= 1 and i <= 5):
            ruota_Bari.append(numeri_estratti[i])
            
        if (i >= 7 and i <= 11):
            ruota_Cagliari.append(numeri_estratti[i])
                                  
        if (i >= 13 and i <= 17):
            ruota_Firenze.append(numeri_estratti[i])
                                
        if (i >= 19 and i <= 23):
            ruota_Genova.append(numeri_estratti[i])
                                
        if (i >= 25 and i <= 29):
            ruota_Milano.append(numeri_estratti[i])
                                
        if (i >= 31 and i <= 35):
            ruota_Napoli.append(numeri_estratti[i])
                                
        if (i >= 37 and i <= 41):
            ruota_Palermo.append(numeri_estratti[i])
                                
        if (i >= 43 and i <= 47):
            ruota_Roma.append(numeri_estratti[i])
                              
        if (i >= 49 and i <= 53):
            ruota_Torino.append(numeri_estratti[i])
                                
        if (i >= 55 and i <= 59):
            ruota_Venezia.append(numeri_estratti[i])
                                
        if (i >= 61 and i <= 65):
            ruota_Nazionale.append(numeri_estratti[i])
    print("Estrazioni ruota Bari: ")
    for i in range(len(ruota_Bari)):
        ruota_Bari[i] = int(ruota_Bari[i])
    print(ruota_Bari)
    print("Estrazioni ruota Cagliari: ")
    for i in range(len(ruota_Cagliari)):
        ruota_Cagliari[i] = int(ruota_Cagliari[i])
    print(ruota_Cagliari)
    print("Estrazioni ruota Firenze: ")
    for i in range(len(ruota_Firenze)):
        ruota_Firenze[i] = int(ruota_Firenze[i])
    print(ruota_Firenze)
    print("Estrazioni ruota Genova: ")
    for i in range(len(ruota_Genova)):
        ruota_Genova[i] = int(ruota_Genova[i])
    print(ruota_Genova)
    print("Estrazioni ruota Milano: ")
    for i in range(len(ruota_Milano)):
        ruota_Milano[i] = int(ruota_Milano[i])
    print(ruota_Milano)
    print("Estrazioni ruota Napoli: ")
    for i in range(len(ruota_Napoli)):
        ruota_Napoli[i] = int(ruota_Napoli[i])
    print(ruota_Napoli)
    print("Estrazioni ruota Palermo: ")
    for i in range(len(ruota_Palermo)):
        ruota_Palermo[i] = int(ruota_Palermo[i])
    print(ruota_Palermo)
    print("Estrazioni ruota Roma: ")
    for i in range(len(ruota_Roma)):
        ruota_Roma[i] = int(ruota_Roma[i])
    print(ruota_Roma)
    print("Estrazioni ruota Torino: ")
    for i in range(len(ruota_Torino)):
        ruota_Torino[i] = int(ruota_Torino[i])
    print(ruota_Torino)
    print("Estrazioni ruota Venezia: ")
    for i in range(len(ruota_Venezia)):
        ruota_Venezia[i] = int(ruota_Venezia[i])
    print(ruota_Venezia)
    print("Estrazioni ruota Nazionale: ")
    for i in range(len(ruota_Nazionale)):
        ruota_Nazionale[i] = int(ruota_Nazionale[i])
    print(ruota_Nazionale)

    if (len(numeri_giocati) == 1):
        for i in range(4):
            numeri_giocati.append(" ")
            print(numeri_giocati)
    if (len(numeri_giocati) == 2):
        for i in range(3):
            numeri_giocati.append(" ")
    if (len(numeri_giocati) == 3):
        for i in range(2):
             numeri_giocati.append(" ")
    if (len(numeri_giocati) == 4):
        numeri_giocati.append(" ")
    if (len(numeri_giocati) == 5):
         print("Lista numeri giocati aggiornata...")

    print("Verifica dei numeri giocati...si prega di attendere...")
    print("Verifica numeri ruota Bari")
    numeri_azzeccati = 0
    numeriVinti_Bari = []
    for i in range(len(numeri_giocati)):
        if (numeri_giocati[i] in ruota_Bari):
            numeriVinti_Bari.append(numeri_giocati[i])
            numeri_azzeccati += 1
    print(f"Hai indovinato {numeri_azzeccati} numeri sulla ruota di Bari!")
    print(numeriVinti_Bari)

    print("Verifica numeri ruota Cagliari")
    numeri_azzeccati2 = 0
    numeriVinti_Cagliari = []
    for i in range(len(numeri_giocati)):
        if (numeri_giocati[i] in ruota_Cagliari):
            numeriVinti_Cagliari.append(numeri_giocati[i])
            numeri_azzeccati2 += 1
    print(f"Hai indovinato {numeri_azzeccati2} numeri sulla ruota di Cagliari!")
    print(numeriVinti_Cagliari)

    print("Verifica numeri ruota Firenze")
    numeri_azzeccati3 = 0
    numeriVinti_Firenze = []
    for i in range(len(numeri_giocati)):
        if (numeri_giocati[i] in ruota_Firenze):
            numeriVinti_Firenze.append(numeri_giocati[i])
            numeri_azzeccati3 += 1
    print(f"Hai indovinato {numeri_azzeccati3} numeri sulla ruota di Firenze!")
    print(numeriVinti_Firenze)

    print("Verifica numeri ruota Genova")
    numeri_azzeccati4 = 0
    numeriVinti_Genova = []
    for i in range(len(numeri_giocati)):
        if (numeri_giocati[i] in ruota_Genova):
            numeriVinti_Genova.append(numeri_giocati[i])
            numeri_azzeccati4 += 1
    print(f"Hai indovinato {numeri_azzeccati4} numeri sulla ruota di Genova!")
    print(numeriVinti_Genova)

    print("Verifica numeri ruota Milano")
    numeri_azzeccati5 = 0
    numeriVinti_Milano = []
    for i in range(len(numeri_giocati)):
        if (numeri_giocati[i] in ruota_Milano):
            numeriVinti_Milano.append(numeri_giocati[i])
            numeri_azzeccati5 += 1
    print(f"Hai indovinato {numeri_azzeccati5} numeri sulla ruota di Milano!")
    print(numeriVinti_Milano)

    print("Verifica numeri ruota Napoli")
    numeri_azzeccati6 = 0
    numeriVinti_Napoli = []
    for i in range(len(numeri_giocati)):
        if (numeri_giocati[i] in ruota_Napoli):
            numeriVinti_Napoli.append(numeri_giocati[i])
            numeri_azzeccati6 += 1
    print(f"Hai indovinato {numeri_azzeccati6} numeri sulla ruota di Napoli!")
    print(numeriVinti_Napoli)

    print("Verifica numeri ruota Palermo")
    numeri_azzeccati7 = 0
    numeriVinti_Palermo = []
    for i in range(len(numeri_giocati)):
        if (numeri_giocati[i] in ruota_Palermo):
            numeriVinti_Palermo.append(numeri_giocati[i])
            numeri_azzeccati7 += 1
    print(f"Hai indovinato {numeri_azzeccati7} numeri sulla ruota di Palermo!")
    print(numeriVinti_Palermo)

    print("Verifica numeri ruota Roma")
    numeri_azzeccati8 = 0
    numeriVinti_Roma = []
    for i in range(len(numeri_giocati)):
        if (numeri_giocati[i] in ruota_Roma):
            numeriVinti_Roma.append(numeri_giocati[i])
            numeri_azzeccati8 += 1
    print(f"Hai indovinato {numeri_azzeccati8} numeri sulla ruota di Roma!")
    print(numeriVinti_Roma)

    print("Verifica numeri ruota Torino")
    numeri_azzeccati9 = 0
    numeriVinti_Torino = []
    for i in range(len(numeri_giocati)):
        if (numeri_giocati[i] in ruota_Torino):
            numeriVinti_Torino.append(numeri_giocati[i])
            numeri_azzeccati9 += 1
    print(f"Hai indovinato {numeri_azzeccati9} numeri sulla ruota di Torino!")
    print(numeriVinti_Torino)

    print("Verifica numeri ruota Venezia")
    numeri_azzeccati10 = 0
    numeriVinti_Venezia = []
    for i in range(len(numeri_giocati)):
        if (numeri_giocati[i] in ruota_Venezia):
            numeriVinti_Venezia.append(numeri_giocati[i])
            numeri_azzeccati10 += 1
    print(f"Hai indovinato {numeri_azzeccati10} numeri sulla ruota di Venezia!")
    print(numeriVinti_Venezia)

    print("Verifica numeri ruota Nazionale")
    numeri_azzeccati11 = 0
    numeriVinti_Nazionale = []
    for i in range(len(numeri_giocati)):
        if (numeri_giocati[i] in ruota_Nazionale):
            numeriVinti_Nazionale.append(numeri_giocati[i])
            numeri_azzeccati11 += 1
    print(f"Hai indovinato {numeri_azzeccati11} numeri sulla ruota Nazionale!")
    print(numeriVinti_Nazionale)
  
estrai_sorgente("https://www.estrazionedellotto.it")
azione_utente()