Forum
>>
Principianti
>>
Problema con codice
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da Giova89 |
2018-02-15 18:03:40 - Problema con codice
|
Salve ragazzi. Ho scritto un codice in cui vi è presente una funzione ed un main. La funzione deve consegnare i numeri pari dell'argomento (che è una lista) ad un'altra lista. La funzione restituisce una lista (che può essere anche vuota) al main. Ecco il codice:
def even_num (a): count=0 new=[ ] for c in a: if c%2==0: new[count]=c count=count+1 return new a=[1,2,3,4] z=even_num(a) print(z) Python mi dà un errore nella funzione della riga in cui assegno c alla lista new. Mi potete dare un aiuto? --- Ultima modifica di ㎝ in data 2018-02-15 18:09:51 --- |
|
Scritto da Giova89 |
2018-02-15 18:04:07 - Re: Problema con codice
|
*newcount
|
|
Scritto da Giova89 |
2018-02-15 18:12:34 - Re: Problema con codice
|
Scusate, è la prima volta che uso il forum. Il codice è scritto nell'allegato txt. Vi ringrazio per un eventuale aiuto.
|
|
Scritto da Giova89 |
2018-02-15 18:21:56 - Re: Problema con codice
|
Scusate, un'altra cosa e non vi rompo piu' le scatole. Premetto che uso Python 3.4.3. Mi capita che quando uso la funzione range(x,y), python non mi restituisce una lista se ad esempio scrivo:
x=range(0,5) print (x) Python mi stampa range(0,5) È per via della mia versione di Python? non ci sto capendo nulla.... |
|
Scritto da Aprimus |
2018-02-15 18:32:04 - Re: Problema con codice
|
Ciao provo a risponderti.
Riguardo al primo problema potresti usare una list comprension: a = [1,2,3,4] b = [c for c in a if c % 2 == 0]In python 3 range() non ritorna una lista ma un generatore, ovvero non ritiene tutti i valori in memoria ma li rilascia solo su richiesta... |
|
Scritto da ㎝ |
2018-02-15 18:58:54 - Re: Problema con codice
|
anche list(range(5)) si comporta come ti aspetteresti, se stai seguendo un libro dedicato a python 2.
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. -- ㎝ |
|
Scritto da Giova89 |
2018-02-15 19:03:24 - Re: Problema con codice
|
Ti ringrazio per la risposta. Ma devo lavorare nel modo specificato all'inizio della discussione dato che è un esercizio. Ma se dico che una lista è vuota, ovvero:
a=[ ] posso riempirla nel seguente modo, ovvero: c=0 while (c<5): ac=int(input()) c=c+1 Perchè il problema sembra che sorge nel momento in cui non inizializzo la lista e quando assegno un valore ad un determinato indice. |
|
Scritto da Aprimus |
2018-02-15 21:36:49 - Re: Problema con codice
|
Potresti provare in questo modo..
def even_num (a): count = 0 new = [] for c in a: if c % 2 == 0: new.append(None) newcount = c count = count+1 return new |
|
Scritto da Giova89 |
2018-02-15 22:47:53 - Re: Problema con codice
|
Ok. Ringrazio tutti per l'aiuto. Buon proseguimento di cose.
|
Pagina: 1
Esegui il login per scrivere una risposta.