Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    [python] devo visualizzare accanto a doppia un numerello progressivo...

    #esempio: python filtro.py <file.txt>

    import sys,time
    try:
    file_txt = sys.argv[1]
    except:
    file_txt = "file.txt"
    n=0
    estratti = []
    for riga in map(lambda r: r.strip(), open(file_txt)):
    numeri = riga.split(',')
    numeri.sort()
    print riga,
    if numeri in estratti:
    print "doppia"
    else:
    estratti.append(numeri)
    print
    time.sleep(10)

    ma tutti i miei tentativi da neofita pythoniano sono risultati vani...



    Qualcuno/a mi aggiunge il codice per avere sto numerello progressivo accanto a doppia?

    GRAZIE INFINITE esperti/e di questo intrigante ma non proprio facilissimo.. (almeno per me) linguaggio


  2. #2
    potresti riscrivere il tuo codice con un pò di indentazione?
    comunque teoricamente ti basterebbe definire un indice prima del for e stamparlo così:

    codice:
    print (++indice) + "doppia"

    ciao

  3. #3
    Dovresti indentare il codice (utilizza i tag "code") e spiegare meglio il problema.

    PS - ma che ci fai ogni volta con sti script? =)
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

  4. #4
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Allora.. grazie ragazzi e..

    Innanzitutto... scusate per il ritardo di questa mia risposta dovuto pero' al fatto che di nuovo non mi arrivano piu' le notifiche di risposta sul forum...

    Poi...

    La mancata indentazione qui sul post è dovuto al fatto che facendo copia incolla non me la mantiene ma non è quello il punto nell'IDLE vi assicuro che è correttamente impostato...

    Il codice dopo la vostra dritta è diventato (non fate caso all'indentazione.. ) :

    import sys,time
    try:
    file_txt = sys.argv[1]
    except:
    file_txt = "file.txt"

    estratti = []
    indice=0
    for riga in map(lambda r: r.strip(), open(file_txt)):
    numeri = riga.split(',')
    numeri.sort()
    print riga,
    if numeri in estratti:
    print (++indice)
    else:
    estratti.append(numeri)
    print
    time.sleep(5)

    ma purtroppo mi stampa sempre 0 al posto del numero progressivo indice..
    Penso di dover anteporre a (++indice) qualcosa che me lo trasformi in valore numerico ma non so da dove cominciare..

    Rispondendo poi a billiejoex riguardo questi scriptini.. diciamo che sto rincorrendo l'AMBO
    matematico :-P :-) o comunque sia.. facendo tentativi di rendere il lotto + amusant




  5. #5
    Per indentare il codice usa la keyword 'code' - '/code' tra parentesi quadre.
    Hai presente il 'quote'? Ecco...
    Il python senza indentazione semplicemente non funziona (nè si può capire, ovviamente).
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

  6. #6
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    ok per errori d'indentazione ricorrero' anche al keyword..

    ma riguardo al numero progressivo sempre = 0 che mi puoi dire?

    Thanks

    io vorrei che mi visualizzasse qualkosa di questo tipo

    doppia 1

    doppia 2

    ecc...

    doppia 130

    dove è l'errore nel codice postato prima lasciando stare l'indentazione che nn riporto qui in modo regolare solo per fatica? ma che nello script che ho sul pc funziona benissimo.


    tnx

  7. #7
    ok per errori d'indentazione ricorrero' anche al keyword.
    Si ma ricorri ora.
    Mi sa che non hai capito che altrimenti non si può leggere il codice.
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

  8. #8
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    fatto

    codice:
    import sys,time
    try:
        file_txt = sys.argv[1]
    except:
        file_txt = "file.txt"
     
    estratti = []
    indice=int (0) 
    for riga in map(lambda r: r.strip(), open(file_txt)):
        numeri = riga.split(',')
        numeri.sort()
        print riga,
        if numeri in estratti:
            print int (++indice)  
        else:
            estratti.append(numeri)
            print
    time.sleep(5)
    in grassetto ho evidenziato le righe da migliorare...

    THANKSSS

  9. #9
    print int (++indice) non ha molto senso.
    Penso che tu intenda scrivere indice += 1. Nel dettaglio prima dovresti incrementare indice e poi stamparlo.
    Inoltre non leggi mai dal file quindi non capisco come tu possa prelevare i numeri.

    PS - anche l'istruzione indice = int(0) non ha molto senso (o meglio, è inutile) in quanto cerchi di trasformare in intero un numero (0) che lo è gia.
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

  10. #10
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    ho provato e riprovato ma questa indentazione proprio un mi riesce comprenderla :(

    codice:
    import sys,time
    try:
        file_txt = sys.argv[1]
    except:
        file_txt = "file.txt"
     
    estratti = []
    indice=0
    for riga in map(lambda r: r.strip(), open(file_txt)):
        numeri = riga.split(',')
        numeri.sort()
        print riga,
        if numeri in estratti:
            print indice
        else:
            estratti.append(numeri)
            print
    time.sleep(5)
    Ad esempio questo incremento dell'indice:
    indice += 1

    dove lo posso mettere dopo l'"if numeri in estratti" ??? A me da sempre errore
    Me lo posti perfavore dentro il code come ho fatto ora io ?

    THANKS!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.