Profilo di elninos

Nome elninos
Indirizzo email n/a
Messaggi2
  • Re: Le posizioni dispari di una lista..
    Forum >> Principianti
    Mah, quel codice non ha nessuno senso. Dovresti provare a descrivere prima in italiano, passo-passo, l'algoritmo che avevi in mente di implementare. Poi si vede come trasformarlo in codice.


    Prima di tutto, però, dovresti chiarirti qual è il test da fare per determinare se un numero è pari. E non dico "in codice python", voglio proprio dire nell'algebra elementare: come si fa a dire se un numero è pari oppure dispari, in algebra? Te lo ricordi da scuola? "Un numero è pari se..."

    (detto questo, non hai davvero bisogno di testare se le posizioni successive di una lista sono pari o dispari: se le percorri tutte in ordine, *lo sai già* che la prima è dispari e poi si alternano pari/dispari... prova a pensare anche in questo modo)

    (detto questo, ovviamente le liste in python *ce l'hanno già* il modo di estrarre gli elementi pari, e/o quelli dispari, e/o i multipli di un numero qualsiasi... basta ricorrre alla "slice notation", quella con le parentesi quadre... ma forse appunto l'esercizio prevede che tu non ne faccia uso altrimenti è troppo banale).


    La ringrazio per la risposta, avevo fatto un grosso errore di logica... Grazie al suo commento ne sono venuto a capo, ora però mi sorge un altro dubbio, le mi ha scritto che il primo elemento è dispari, quindi significa che lo 0 è la prima posizione dispari della lista?
    def dispari(lista):
     for i in range(len(lista)):
         if i%2 == 0:
             print(i,lista)
    

    quindi in una lista del tipo [0,1,2,3,4] la posizione dispari sarebbe 0,2,4?




    --- Ultima modifica di elninos in data 2019-01-24 15:35:22 ---

    --- Ultima modifica di elninos in data 2019-01-24 15:36:44 ---

    --- Ultima modifica di elninos in data 2019-01-24 15:38:13 ---
  • Le posizioni dispari di una lista..
    Forum >> Principianti
    Salve,
    stavo svolgendo un esercizio di python(premetto che sono ancora alle primissime armi), nel quale veniva richiesto di trovare quale siano gli elementi di posto dispari all'interno di una lista e stamparli, in seguito stampare anche la somma degli elementi dispari.
    Avevo provato a dividire il cursore "i" diviso 2 e quindi stampare solo quelli che non avevano resto (escludendo anche lo 0).
    def dispari(lista):
     for i in range(len(lista)):
         if (i/2)!= 1 and (i!=0):
             print(lista)
    
    
    ma il risultato mi viene errato, in quanto mi esclude lo 0 e solo il primo numero pari:

    lista1=[1,4,5,6,7,8,9,20]

    >>> dispari(lista1)

    4

    6

    7

    8

    9

    20
    Sapreste dirmi dove ho sbagliato?
    ringrazio anticipatamente



    --- Ultima modifica di elninos in data 2019-01-23 18:18:12 ---

    --- Ultima modifica di elninos in data 2019-01-23 18:42:13 ---