Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [python] import

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    7

    [python] import

    Salve ragazzi, io sto iniziando ad esplorare il mondo del python e ho grossi problemi con l'import. Io ho bisogno di importare numpy nel mio file per usare la classe matrix mi potete spiegare, come codice, come si fa?
    a me hanno passato

    http://docs.python.org/2/reference/s...en-import_stmt

    ma non ci capisco nulla
    Per programmare uso eclipse con PyDev. Uso python 3.3
    Grazie, ciao

  2. #2
    Per importare numpy, come per qualunque altro modulo, ti basta fare
    codice:
    import numpy
    oppure
    codice:
    from numpy import *
    se vuoi tirare dentro nel modulo corrente tutto ciò che è definito nel modulo numpy (in sostanza, invece di dover scrivere numpy.arrray dopo ti basta scrivere array).

    In ogni caso, l'import è trattato nel tutorial ufficiale Python che ti consiglio caldamente di leggere; poi, per lavorare con numpy, prima dai un'occhiata al suo tutorial.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    7
    grazie mille...l'errore che faceva è che quando volevo usare matrix scrivevo
    a=matrix(...)
    invece di a=numpy.matrix(...)
    ok ora mi funziona...avevo una cosa veloce da chiedere su numpy e matrix
    io ho scritto questo codice:
    codice:
    import random
    import numpy
    if __name__ == '__main__':
        pass
    #def main():
    print("verra generato il numero di nodi random\n")
    n_nodi=5+(int)(random.random()*95)
    print("il grafo ha %d nodi",n_nodi)
    connected=0
    while connected==0:
        m_adiacenze=numpy.zeros(shape = (n_nodi, n_nodi, n_nodi*n_nodi))
        for cont1 in range(0,n_nodi-1):
            for cont2 in range(0,n_nodi-1):
                if cont1==cont2:
                    m_adiacenze[cont1][cont2]=0
                else:
                    val=0
                    while val==0:
                        val=-10+(int)(random.random()*20)
                    if val<0:
                        m_adiacenze[cont1][cont2]=10000                    
                    else:
                        m_adiacenze[cont1][cont2]=val
            connected=1
        print(m_adiacenze)
    lasciando perdere la parte del "connected" che mi servira dopo...il problema è che la matrice risultante è "strana" nel senso che non mi da i valori interi che voglio ma ne risulta questa:
    il grafo ha %d nodi 17
    [[[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
    0.00000000e+00 0.00000000e+00]
    [ 5.00000000e+00 5.00000000e+00 5.00000000e+00 ..., 5.00000000e+00
    5.00000000e+00 5.00000000e+00]
    [ 2.00000000e+00 2.00000000e+00 2.00000000e+00 ..., 2.00000000e+00
    2.00000000e+00 2.00000000e+00]
    ...,
    [ 1.00000000e+04 1.00000000e+04 1.00000000e+04 ..., 1.00000000e+04
    1.00000000e+04 1.00000000e+04]
    [ 4.00000000e+00 4.00000000e+00 4.00000000e+00 ..., 4.00000000e+00
    4.00000000e+00 4.00000000e+00]
    [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
    0.00000000e+00 0.00000000e+00]]

    [[ 8.00000000e+00 8.00000000e+00 8.00000000e+00 ..., 8.00000000e+00
    8.00000000e+00 8.00000000e+00]
    [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
    0.00000000e+00 0.00000000e+00]
    [ 7.00000000e+00 7.00000000e+00 7.00000000e+00 ..., 7.00000000e+00
    7.00000000e+00 7.00000000e+00]
    ...,
    [ 1.00000000e+04 1.00000000e+04 1.00000000e+04 ..., 1.00000000e+04
    1.00000000e+04 1.00000000e+04]
    [ 9.00000000e+00 9.00000000e+00 9.00000000e+00 ..., 9.00000000e+00
    9.00000000e+00 9.00000000e+00]
    [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
    0.00000000e+00 0.00000000e+00]]

    [[ 3.00000000e+00 3.00000000e+00 3.00000000e+00 ..., 3.00000000e+00
    3.00000000e+00 3.00000000e+00]
    [ 1.00000000e+00 1.00000000e+00 1.00000000e+00 ..., 1.00000000e+00
    1.00000000e+00 1.00000000e+00]
    [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
    0.00000000e+00 0.00000000e+00]
    ...,
    [ 1.00000000e+04 1.00000000e+04 1.00000000e+04 ..., 1.00000000e+04
    1.00000000e+04 1.00000000e+04]
    [ 6.00000000e+00 6.00000000e+00 6.00000000e+00 ..., 6.00000000e+00
    6.00000000e+00 6.00000000e+00]
    [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
    0.00000000e+00 0.00000000e+00]]

    ...,
    [[ 1.00000000e+04 1.00000000e+04 1.00000000e+04 ..., 1.00000000e+04
    1.00000000e+04 1.00000000e+04]
    [ 7.00000000e+00 7.00000000e+00 7.00000000e+00 ..., 7.00000000e+00
    7.00000000e+00 7.00000000e+00]
    [ 4.00000000e+00 4.00000000e+00 4.00000000e+00 ..., 4.00000000e+00
    4.00000000e+00 4.00000000e+00]
    ...,
    [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
    0.00000000e+00 0.00000000e+00]
    [ 4.00000000e+00 4.00000000e+00 4.00000000e+00 ..., 4.00000000e+00
    4.00000000e+00 4.00000000e+00]
    [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
    0.00000000e+00 0.00000000e+00]]

    [[ 6.00000000e+00 6.00000000e+00 6.00000000e+00 ..., 6.00000000e+00
    6.00000000e+00 6.00000000e+00]
    [ 2.00000000e+00 2.00000000e+00 2.00000000e+00 ..., 2.00000000e+00
    2.00000000e+00 2.00000000e+00]
    [ 1.00000000e+04 1.00000000e+04 1.00000000e+04 ..., 1.00000000e+04
    1.00000000e+04 1.00000000e+04]
    ...,
    [ 3.00000000e+00 3.00000000e+00 3.00000000e+00 ..., 3.00000000e+00
    3.00000000e+00 3.00000000e+00]
    [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
    0.00000000e+00 0.00000000e+00]
    [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
    0.00000000e+00 0.00000000e+00]]

    [[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
    0.00000000e+00 0.00000000e+00]
    [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
    0.00000000e+00 0.00000000e+00]
    [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
    0.00000000e+00 0.00000000e+00]
    ...,
    [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
    0.00000000e+00 0.00000000e+00]
    [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
    0.00000000e+00 0.00000000e+00]
    [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
    0.00000000e+00 0.00000000e+00]]]
    perche? cosa succede? io ho asseegnato tutti valori castati ad int...non capisco questo risultato....grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    156
    Originariamente inviato da marko46

    io ho asseegnato tutti valori castati ad int...non capisco questo risultato....grazie
    infatti sono tutti interi. sono solo espressi in notazione scientifica

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    7
    e scusa la mia ignoranza...come faccio ad esprimerli in una notazione più "normale"? il singolo numero senza mille zeri dietro insomma
    grazie

  6. #6
    Stampali uno alla volta come ti pare con un for; ma in ogni caso, puoi anche creare un numpy.array basato su interi invece che su double, se è quello che ti serve.
    Amaro C++, il gusto pieno dell'undefined behavior.

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