Forum >> Programmazione Python >> Calcolo scientifico >> Problema affidabilità Python?

Pagina: 1

Salve a tutti.

Avrei scritto (assolutamente nulla di originale) qualche linea in Pyhon per verificare efficacia dei codici di programmazione che incollo in seguito:




import time
start = time.time()

a = range(100000)
b = []
for i in a:
b.append(i*2)

# a = range(100000)
# b = [i*2 for i in a]

end = time.time()
print("%.10f"%(end - start))





la precisione alla fine l'ho aggiunta solo per sfizio perchè con le liste al posto del ciclo 'for' Python 3.7 continua a fornire risultato nullo (i.e. '0.0000...', quando senza l'output è '0.0'). Avviando lo stesso file con Spyder (Anaconda) ottengo invece risultati divesi e più ragionevoli, ovviamente senza neppure la necessità di specificare una particolare precisione.


Sia in Python 3.7 che in Spyder 3 le esecuzioni sono normali, senza messaggi di errore.

Ho notato che il risultato che Python fornisce per il ciclo è il medesimo che Spyder visualizza per le liste.


Probabilmente il tutto è una banalità di cui mi scuso già da ora, ringraziandovi invece per ogni informazione utile.




Saluti.




OttoBit

ciao,

che OS stai usando? A me il tuo codice restituisce:

cm@hemp /tmp
$ cat ottobit.py 
import time

start = time.time()

a = range(100000)
b = []
for i in a:
    b.append(i * 2)

# a = range(100000)
# b = [i*2 for i in a]

end = time.time()
print("%.10f" % (end - start))
cm@hemp /tmp
$ py ottobit.py 
0.0109043121
cm@hemp /tmp
$ py ottobit.py 
0.0114600658
cm@hemp /tmp
$ py --version
Python 3.7.0




THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
Win 7 64bit per l'OS, ma non dovrebbe essere un problema visto che ho scaricato le installazioni relative.

Mi sono reso conto di aver scritto una pessima descrizione: come vedete ci sono due cicli 'for', uno attivo, l'altro inserito passivo come commento da attivare in un secondo tempo (ovviamente disattivando l'altro). Un ciclo è interno alla lista, l'altro è esterno. I risultati che dovreste ottenere è un tempo circa doppio per il ciclo esterno invece di quello interno. E' il classico esercizio per dimostrare "buona programmazione".

Fatemi sapere e grazie ancora per ogni consiglio, visto che per il ciclo interno ho sempre un rislutato nullo per Python 3.7.




Saluti.




OttoBit



Pagina: 1



Esegui il login per scrivere una risposta.