Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 26
  1. #11
    Grazie il tuo codice funziona,pero continuo a non capire l'errore, potresti provare a spiegarmi meglio? ciao e grazie.

  2. #12
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    all'interno del tuo while, dopo aver fatto un for per eliminare i caratteri "non graditi", metti un altro for che fa un numero di cicli pari al numero di righe e fa l'append alla lista dei valori inseriti dall'utente

    se il numero di righe è maggiore di uno, lo stesso dato è inserito n volte, con n uguale al numero di righe (nella correzione che ti ho postato ho scordato di scrivere che avevo eliminato questo ultimo for...)

  3. #13
    Grazie mille per la tua disponibilità e del tuo tempo ora mi è chiaro.

  4. #14
    Sai per caso come posso contare le occorrenze dei numeri nella matrice ? ho provato cosi
    i=1
    ripetizione=list()
    for i in range(91):
    ripetizione[1:i]=(int(matrice.count(i)))
    print(matrice)
    vorrei contare le occorrenze i nella matrice i numeri sono compresi tra 1-90.
    ottengo l' errore
    Traceback (most recent call last): File "python", line 95, in <module>TypeError: can only assign an iterable
    perch� posso assegnare solo un iterabile in che senso ?


  5. #15
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    puoi fare una cosa così
    codice:
    from collections import Counter    # importi parte di una libreria esterna
    
    conteggio = dict(Counter(x for riga in matrice for x in riga))    # usi Counter su una dict comprehension
    print(conteggio)

  6. #16
    adattando il codice e usando le mie variabili uso questo
    codice:
    for i in range(91):
      ripetizione[1:i]=dict(Counter(x for riga in matrice for x in riga))
    print(matrice)
    print(ripetizione)
    outupt:
    codice:
    inserire la: 1  dato
     42  47  55  57  61  79     72         65 
    42  47  55  57  61  79     72         65 
    inserire la: 2  dato
     21  40  76  77  83  84     73         90
    21  40  76  77  83  84     73         90
    inserire la: 3  dato
     03  45  49  53  58  77     48         46
    3  45  49  53  58  77     48         46
    [[42, 47, 55, 57, 61, 79, 72, 65], [21, 40, 76, 77, 83, 84, 73, 90], [3, 45, 49, 53, 58, 77, 48, 46]]
    [65, 65, 3, 72, 73, 76, 77, 79, 83, 84, 21, 90, 40, 42, 45, 46, 47, 48, 49, 53, 55, 57, 58, 61]
    come puoi notare sembra che si sia creato una sorta di riordinamento pero si sono creati anche numeri nuovi.
    Mi sembri molto preparato nel utilizzo di python immagino che avrai una certa esperienza,potresti consigliarmi dei siti o libri che danno una buona preparazione a tuo parere se li ha letti ?

  7. #17
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Il codice che ti ho postato ti restituisce un dizionario con i numeri della tua matrice come chiavi e come valori il numero di occorrenze di quel numero

    Io mi sono avvicinato a python tramite un corso online (codeacademy) e poi ho letto la documentazione online e vari articoli/tutorial per approfondire e chiarire aspetti specifici. Non sono esperto, ne ho ancora di strada da macinare e il tempo da dedicare è sempre meno, purtroppo...

  8. #18
    Ok però vedi quando eseguo la stampa non mi stampa ciò che dovrebbe cioè il dizionario e io numero delle occorrenze

  9. #19
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    codice:
    ripetizione[1:i]=dict(Counter(x for riga in matrice for x in riga))
    Per prima cosa mi chiedo come mai questo non ti dia un errore, dato che i dizionari non sono hashabili...

    Seconda cosa, se tu hai già un dizionario creato da Counter, perché non ci cicli sopra e stampi direttamente i suoi valori?
    Se ti servono anche i valori numerici che non sono presenti nella tua matrice, fai così:
    codice:
    conteggio = dict(Counter(x for riga in matrice for x in riga))
    for a in range(1, 91):
        try:
            print "{} - {}".format(a, matrice[a])
        except KeyError:
            print "{} - {}".format(a, 0)

  10. #20
    ammettiamo che conteggio={64: 1, 66: 1, 68: 1, 69: 1, 75: 1, 14: 1, 15: 1, 16: 2, 17: 1, 83: 1, 84: 1, 85: 1, 86: 1, 25: 1, 90: 1, 29: 1, 30: 1, 38: 1, 39: 1, 40: 1, 56: 1, 20: 1, 60: 1} se io volessi inserire ad esempio il numero delle ripetizioni di 64 in posizione matrice[64] come potrei fare? con un ciclo che meli inserisca senza contare le occorrenze dello 0 ? ciao grazie

Tag per questa discussione

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 © 2026 vBulletin Solutions, Inc. All rights reserved.