como
Profilo di
Nome | como |
---|---|
Indirizzo email | n/a |
Messaggi | 8 |
-
- 2017-11-04 17:17:00
- float 32 o 64 bit
- Forum >> Principianti
- ciao a tutti
vorrei sapere se esiste un'istruzione che permette di estendere la precisione di tutte le mie variabili numeriche da 32 a 64 bit (uso sia il normale python che il modulo numpy)
inoltre quando uso il comando str(a) sul terminale o sul file in cui riporto il risultato arrivo ad avere al massimo 12 cifre significative, c'è un modo per poterne scrivere un numero maggiore?
Grazie
-
- 2017-10-12 15:29:32
- Re: chiarimenti sul modulo multiprocessing
- Forum >> Principianti
- Grazie per la risposta, era una pagina che avevo già trovato, ma non le avevo prestato la debita attenzione, ora credo di aver capito qualcosa in piu: posso dare un numero qualsiasi di processi in pasto a Pool, ma le performance non migliorano una volta che il numero di processi attivi occupa completamente i miei cores.
-
- 2017-10-11 12:14:50
- chiarimenti sul modulo multiprocessing
- Forum >> Principianti
- Buongiorno a tutti,
sto lavorando con un programma piuttosto lungo (impiega qualche ora a terminare), quindi vorrei riuscire a farlo lavorare in parallelo sui 4 cores del mio pc, solo che dalle varie guide che ho letto mi sorgono alcuni domande:
- la prima è sicuramente se qualcuno ha qualche consiglio su che oggetto usare: al momento sono indeciso tra Pool() e Process() credo che Pool sia piu' promettente, nonchè piu semplice da usare, ma qui vengo alla seconda domanda...
- l'oggetto Pool lavora su cores diversi o sullo stesso core alternando i processi? Lo chiedo perchè ho provato a testarne il funzionamento con un semplice progamma:
from multiprocessing import Pool import time work = (["A", 5], ["B", 2], ["C", 1], ["D", 3], ["E",4]) def work_log(work_data): print(" Process %s waiting %s seconds" % (work_data0, work_data1)) time.sleep(int(work_data1)) print(" Process %s Finished." % work_data0) def pool_handler(): p = Pool(2) p.map(work_log, work) if __name__ == '__main__': pool_handler()
e l'output che ottengo è il seguente:
Process A waiting 5 seconds
Process B waiting 2 seconds
Process B Finished.
Process C waiting 1 seconds
Process C Finished.
Process D waiting 3 seconds
Process A Finished.
Process E waiting 4 seconds
Process D Finished.
Process E Finished.
provando poi con Pool(5) anziché (2) l'output è di questo tipo:
Process A waiting 5 seconds
Process B waiting 2 seconds
Process C waiting 1 seconds
Process D waiting 3 seconds
Process E waiting 4 seconds
Process C Finished.
Process B Finished.
Process D Finished.
Process E Finished.
Process A Finished.
che mi ha lasciato spiazzato perchè io ho solo 4 cores e quindi mi sarei immaginato di ottenere lo stesso output di Pool(4), ovvero:
Process A waiting 5 seconds
Process B waiting 2 seconds
Process C waiting 1 seconds
Process D waiting 3 seconds
Process C Finished.
Process E waiting 4 seconds
Process B Finished.
Process D Finished.
Process A Finished.
Process E Finished.
Grazie e scusate per la lunghezza del messaggio
-
- 2017-05-28 21:27:44
- Re: Creare un numero di variabili in base alla lunghezza di una lista
- Forum >> Principianti
- sembra il comando che fa al caso mio!
grazie
ti lascio al tuo Bacco
-
- 2017-05-28 19:38:03
- Re: Creare un numero di variabili in base alla lunghezza di una lista
- Forum >> Principianti
- Grazie per la risposta, ma per il lavoro che sto facendo devo mantenere la lista 'specie_opt' scritta in quel modo.
Probabilmente mi sono espresso male nel messaggio precedente, ma quello che mi serve è riuscire a creare variabili differenti in base al numero che viene inserito con input in 'n_species', perchè nel resto del programma inseriro dei valori diversi per ogni specie.
ad esempio se:
n_species = 3
vorrei creare le variabili
specie1
specie2
specie3
che potrebbero anche avere come nome le stringhe inserite in 'specie_opt', ma questo non è obbligatorio.
Spero in questo modo di aver spiegato meglio il mio problema
(p.s. ho dei controlli nel resto del programma, ma li ho omessi per rendere piu leggibile il messaggio)
-
- 2017-05-28 16:12:04
- Creare un numero di variabili in base alla lunghezza di una lista
- Forum >> Principianti
- Ciao a tutti!
Dovrei realizzare un programma in cui creo n variabili (mi servono delle liste), dove n è la lunghezza di un array inserito da tastiera.
Mi spiego meglio:
Questa è la parte di programma da cui parto:n_species = input('Number of additional species : ') species_opt = 0 * n_species for i in range(n_species) : species_opt = raw_input('specie {0} : '.format(i+1))
(lo zero dopo 'species_opt = ' è incluso tra parentesi quadre... non so come mai sul forum viene visualizzato come un punto esclamativo)
Adesso dovrei creare un numero 'n_species' di liste... è possibile farlo all interno del ciclo for? esiste un comando per farlo?
Spero che qualcuno riesca darmi almeno un'idea su come partire.
Grazie mille
-
- 2017-05-05 11:24:57
- Re: Estrarre dati da un file.txt non sotto forma di matrice
- Forum >> Programmazione Python >> Files e Directory
- Ho risolto in una maniera non molto ortodossa con questo codice (le variabili sono in ordine differente rispetto a quello che ho scritto nel messaggio precedente).
Mi piacerebbe pero riuscire ad avere una scrittura piu compatta e comoda da leggere
dati = open ('datiinput.txt','r')
datinput = dati.readlines()
lista=[]
for x in datinput :
b = [x.strip()]
lista = lista + b
dati.close()
Pressure=[]
for i in lista[2:] :
if i == 'tValues' :
index = len(Pressure)+2
break
else :
b =
Pressure = Pressure + b
Pressure = Pressure[0:-2]
for i in range(0,len(Pressure)):
Pressure = float(Pressure)
Temperature = []
for i in lista[index+2:] :
if i == 'equivValues' :
index = index+2+len(Temperature)
break
else :
b =
Temperature = Temperature + b
Temperature = Temperature[0:-2]
for i in range(0,len(Temperature)):
Temperature = float(Temperature)
EquivalenceRatio = []
for i in lista[index+2:] :
if i == 'fuelSpecies' :
index = index+2+len(EquivalenceRatio)
break
else :
b =
EquivalenceRatio = EquivalenceRatio + b
EquivalenceRatio = EquivalenceRatio[0:-2]
for i in range(0,len(EquivalenceRatio)):
EquivalenceRatio = float(EquivalenceRatio)
for i in lista[index+1:index+2] :
fuel = i
-
- 2017-05-04 15:14:00
- Estrarre dati da un file.txt non sotto forma di matrice
- Forum >> Programmazione Python >> Files e Directory
- Ciao a tutti!
E' la prima volta che scrivo in questo forum e spero di essere nella sezione giusta...
Sto avendo difficoltà con un programma che devo realizzare:
in sostanza da un file di input scritto in questo modo
"
O2Init = 0.2
N2Init = 0.8
fuelSpecies = "NC12H26"
fuelMassFractions = 1
tValues
(
600
650
700
);
pValues
(
30e5
70e5
110e5
);
"
dovrei fare un programma in python in cui i dati siano inseriti nelle variabili corrette, per esempio tValues diventa un array di float ([600., 650., 700.,]), fuelSpecies contiene la stinga "NC12H26" e cosi via per tutte le variabili.
Ho già provato con i comandi np.loadtxt e np.genfromtxt, ma mi sembra di capire che funzionino solo per flat files.
Qualcuno saprebbe darmi una mano?
Grazie mille!