Pagina 4 di 4 primaprima ... 2 3 4
Visualizzazione dei risultati da 31 a 35 su 35
  1. #31
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Come non ha senso?

    E dove va aggiunto e come esattamente il cod:

    (random.randint(1,90))

    da te postatomi ad integrazione del precedente?

    GRAZIE

    Per l'altro punto per il quale forse nn mi sono spiegato troppo bene... si tratta di questo:


    Prendiamo un file fo.txt generato dal tuo codice python... una volta analizzato quello di origine fi.txt

    fo.txt dunque contiene:

    8,2,5,4,1
    27,28,32,29,26
    24,27,26,32,29
    18,14,9,16,10
    40,37,41,43,35


    Io vorrei che fo.txt invece contenesse

    8,27,24,18,40
    2,28,27,14,37
    5,32,26,9,41
    4,29,32,16,43
    1,26,29,10,35

    Ovvero le colonne "trasformate" in righe dello stesso file..
    come evidenziato a titolo di esempio dalla colonna->riga in grassetto..


    GRAZIE GRANDE


  2. #32
    Ho capito. Modifica un po' più impegnativa delle altre. Mi sa che ti tocca fartela da te, questa volta.
    Buona lettura.
    E dove va aggiunto e come esattamente il cod:
    (random.randint(1,90))
    da te postatomi ad integrazione del precedente?
    Non va aggiunto, va sostituito a y = int(num) + (random.randint(-5,5))
    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.

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

    No no nn è troppo impegnativa.. almeno per te dai ;)

    import random

    fi = open('fi.txt','r')
    fo = open('fo.txt','w')
    for line in fi.readlines():
    x = line[:-1].split(',')
    for num in x:
    try:
    num = int(num) + (random.randint(-5,5))
    fo.write(str(num)+',')
    except:
    pass
    fo.seek(fo.tell() -1)
    fo.write('\n')

    Questo script iniziale infatti funge correttamente..
    me li incolonna come deve essere...

    Ma andrebbe modificato secondo il for richiesto (per avere ogni riga generata 5 volte con ciascuna diversa dalle altre) e il range (x>0 e x<=90) (per avere tutti i numeri componenti nel range desiderato 1-90 e senza presenze multiple degli stessi per ciascuna riga generata)

    Non credo sia una cosa difficile per un mago come te, impossibile al momento per me che impazzisco con le indentature e altre simili amenità... VVoVe: ma non per te

    Aspettando il tuo (promesso ultimo) misericordioso aiuto

    Ti saluto e ringrazio

    Tom

  4. #34
    Non credo sia una cosa difficile per un mago come te, impossibile al momento per me che impazzisco con le indentature e altre simili amenità
    Si ma almeno provaci, no?

    Saluti.

    codice:
    # aggiunta.py
    
    fi = open('fi.txt','r')
    fo = open('fo.txt','w')
    
    lines_num = 0
    matrix = []
    
    for line in fi.readlines():
        lines_num += 1
        x = line[:-1].split(',')
        matrix.append(x)
    
    for i in range(0, lines_num):
        if i != 0:
            fo.write('\n')
        for y in range(0, lines_num):
            fo.write(matrix[y][i])
    PS - Quelle che ho usato si chiamano "matrici" (quei due for concatenati che iterano in coppia sulla lista "matrix"). Ricordo che alla mia primissima esperienza di programmazione (fatta in C) per me le matrici erano state assolutamente traumatiche. Notare come il Python semplicizzi all'estremo anche questa cosa (pur rimanendo sempre un po' complessa al primo impatto) riducendo drasticamente la lunghezza del codice, come al solito. :P
    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.

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

    Dopo l'ultima aggiunta...

    import random

    fi = open('fi.txt','r')
    fo = open('fo.txt','w')
    for line in fi.readlines():
    x = line[:-1].split(',')
    for num in x:
    try:

    num = int(num) + (random.randint(-5,5))
    fo.write(str(num)+',')
    except:
    pass
    fo.seek(fo.tell() -1)
    fo.write('\n')


    # aggiunta.py

    lines_num = 0
    matrix = []

    for line in fi.readlines():
    lines_num += 1
    x = line[:-1].split(',')
    matrix.append(x)


    if i != 0:
    fo.write('\n')

    for y in range(0, lines_num):
    fo.write(matrix[y][i])


    Per ogni riga del file fi.txt me ne genera un'altra similare nel range voluto per ogni elemento componente ma.. solo una...
    Se ne volessi generare 5 per ogni riga??? Dove lo devo mettere il famoso...

    for i in range(0,5):

    ad esempio se fi.txt contiene:

    6,27,28,13,39

    dove devo mettere nel codice postato sopra il pezzo:
    for i in range(0,5): affinchè fo.txt sia qualcosa del tipo:

    6,25,29,11,39
    7,29,26,12,42
    9,26,27,13,41
    8,27,25,9,40
    4,28,28,12,37

    GRAZIE

    PS:Io mi applico... ma i nessi pythoniani mi sfuggono alla grande... :master:

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.