Forum
>>
Principianti
>>
Aiuto
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da Salvatore |
2016-05-15 20:35:33 - Aiuto
|
Salve a tutti, sono un novellino, sto facendo pratica con python 2.7.6, e mi sono imbattuto in un grosso problema al capitolo 9.7 (del manuale How to Think) :
Innanzitutto questa è la funzione che ho copiato dal manuale in precedenza e mi sono trovato bene: def NellIntervallo (Lista,LimiteInferiore,LimiteSuperiore): Conteggio = 0 for Numero in range(Lista): if LimiteInferiore < Numero < LimiteSuperiore: Conteggio = Conteggio + 1 print Conteggio,LimiteInferiore,Lista,LimiteSuperiore in seguito: NumIntervalli = 8 AmpiezzaIntervallo = 1.0 / NumIntervalli for i in range(NumIntervalli): LimiteInferiore = i * AmpiezzaIntervallo LimiteSuperiore = LimiteInferiore + AmpiezzaIntervallo print "da", LimiteInferiore, "a", LimiteSuperiore e anche qui nessuno problema Poi quando devo modificare quest'ultima (cioè memorizzare 8 interi con una sola variabile) io copio tale e quale al manuale: NumIntervalli = 8 Conteggio = 0 * NumIntervalli AmpiezzaIntervallo = 1.0 / NumIntervalli for i in range(NumIntervalli): LimiteInferiore = i * AmpiezzaIntervallo LimiteSuperiore = LimiteInferiore + AmpiezzaIntervallo Conteggio = NellIntervallo(Lista, LimiteInferiore, \ LimiteSuperiore) print Conteggio ma poi quando vado ad eseguire mi fa l'errore: name 'Lista' is not defined Sono 3 ore che mi sto lambiccando il cervello per trovare una soluzione --- Ultima modifica di ㎝ in data 2016-05-15 20:47:41 --- |
|
Scritto da Daniele aka Palmux |
2016-05-16 00:37:53 - Re: Aiuto
|
Python ti parla, ascoltalo....
Che cosa è Lista, stai cercando di passare qualcosa alla funzione che non esiste. Per ovviare all'errore potresti aggiungere un semplice: Lista = []ma certamente non avrebbe senso, devi rivedere concettualmente il tuo codice. Cya |
|
Scritto da Salvatore |
2016-05-16 21:55:59 - Re: Aiuto
|
Comunque questo non è un esercizio ma un esempio del manuale how to think Python 2.x che ho copiato e incollato.
Secondo me ci deve essere proprio un errore nel manuale da pagina 112 a 114. Poi non so |
|
Scritto da Salvatore |
2016-05-16 22:04:08 - Re: Aiuto
|
Ho scritto anche il valore della lista: per esempio Lista = 1000, ma qualsiasi valore scrivo il risultatto è sempre zero; ad esempio con la variabile NumIntervalli = 8 e con Lista = 1000 dovrebbe uscire questo risultato: [138, 124, 128, 118, 130, 117, 114, 131], e invece esce sempre : [0, 0, 0, 0, 0, 0, 0, 0]
|
|
Scritto da Daniele aka Palmux |
2016-05-17 17:12:24 - Re: Aiuto
|
Ciao caro, l'esempio funziona, l'ho appena copiato ed incollato e mi restituisce quanto deve. Sei sicuro di aver seguito alla lettera quanto scritto? Ad esempio non devi creare:
Lista = [ 1000 ] #Gli spazi intorno al numero sono solo per la visualizzazionecome dici in precedenza, ma seguendo il testo: Con una lista di 1000 valori questo programma produce una lista di conteggi di questo tipo: [138, 124, 128, 118, 130, 117, 114, 131]Cosa ben diversa non trovi? Ti consiglio un'attenta lettura e di seguire passo passo la guida. Proprio sulla guida un'ultima considerazione è d'obbligo. Si tratta di un testo piuttosto datato (anche se non so a quale release fai riferimento esattamente). Forse, partendo da python.org, potresti avere un maggior beneficio utilizzando guide più recenti e pensate per il linguaggio 3.x che se parti da zero è fortemente consigliato. Cya |
|
Scritto da Salvatore |
2016-05-17 18:42:41 - Re: Aiuto
|
Ho fatto tutto passo passo, e nonostante ciò non mi trovo...ho provato come dici tu ma niente.
Potresti postarmi il codice che tu hai copiato e incollato cosi ho le idee ancora più chiare solo per titoli informativi, per pura curiosità xD grazie in anticipo |
|
Scritto da Daniele aka Palmux |
2016-05-17 23:46:25 - Re: Aiuto
|
In che senso potresti postarmi il codice, è quello che hai scritto tu, gli ho solo messo una formattazione decente.
L'unica differenza col tuo, oltre alla formattazione, è che ho creato una lista di mille elementi e non Lista = 1000 (che poi non è nemmeno una lista così) come dicevi in precedenza. Cya |
|
Scritto da Salvatore |
2016-05-18 16:45:36 - Re: Aiuto
|
Perdona la mia ignoranza: come faccio a creare una lista con mille elementi? quale algoritmo devo utilizzare? comunque riguardo al manuale che sto studiando...siccome sono alle prime armi con la programmazione ho scelto di studiare la versione 2.x per iniziare il mio viaggio nel mondo dell'informatica
per prendere confidenza con la programmazione e poi mi è stato consigliato di iniziare con questa versione, poi subito dopo passerò alle 3.x. |
|
Scritto da Daniele aka Palmux |
2016-05-19 17:37:28 - Re: Aiuto
|
Ci sono molti modi in cui puoi crearla. Io ad esempio ho usato random per avere un po' di valori casuali, ma puoi usare davvero quello che ti pare.
>>> from random import random >>> Lista = [random() for n in range(1000)] >>> len(Lista) 1000
Il consiglio che ti hanno dato non mi trova d'accordo. Se non hai esigenze specifiche, come ad esempio un framwork per il quale non esiste il porting alla versione 3.x o la necessità di tenere/sviluppare codice specifico scritto alla versione 2.x, meglio iniziare a studiare quello che è il presente ed il futuro del linguaggio. Il ramo 2.x prima o poi verrà abbandonato. Cya |
Pagina: 1
Esegui il login per scrivere una risposta.