Topic: Semplice curiosità su python  (Letto 284 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline superslick_67

  • python unicellularis
  • *
  • Post: 2
  • Punti reputazione: 0
    • Mostra profilo
Semplice curiosità su python
« il: Luglio 27, 2020, 23:38 »
Salve a tutti ragazzi!
Mi presento, sono uno studente del liceo da sempre appassionato di informatica ed elettronica. Da qualche anno intendo andare più in là ed aumentare le mie abilità imparando a programmare. Per questo motivo è da un po' che mi cimento in python e ringrazio tutti calorosamente coloro che avranno voglia di aiutarmi in questo percorso, ma torniamo al motivo principale per il quale scrivo questo post. Stavo lavorando ad un progetto con python quando, casualmente, mi sono imbattuto in uno strano comportamento della shell. Nel momento in cui creo una lista (quella in questione è: numeri = [0,1,2,3,4]) e richiamo dalla shell il comando 'print(numeri[0-1])' la shell stampa il numero 4. Questo comportamento mi ha fatto incuriosire e ringrazio anticipatamente coloro che me lo potranno spiegare.
Saluti.

Offline nuzzopippo

  • python neanderthalensis
  • ****
  • Post: 317
  • Punti reputazione: 0
    • Mostra profilo
Re:Semplice curiosità su python
« Risposta #1 il: Luglio 28, 2020, 07:22 »
Ciao @superslick_67

... Nel momento in cui creo una lista (quella in questione è: numeri = [0,1,2,3,4]) e richiamo dalla shell il comando 'print(numeri[0-1])' la shell stampa il numero 4. Questo comportamento mi ha fatto incuriosire ...

Basta leggere qua, punto 8.2.

Le liste possono essere lette tramite indice, nei due sensi, con indice da 0 a len(lista)-1 per procedere dal primo all'ultimo elemento, con indice negativo, che parte da "-1" per l'ultimo elemento a - len(lista) per il primo.
>>> numeri = [0, 1, 2, 3, 4]
>>> for i in range(-1, -(len(numeri) + 1), -1):
print(i, ' - ', numeri[i])


-1  -  4
-2  -  3
-3  -  2
-4  -  1
-5  -  0
>>> 


Quando Tu inserisci indice "0 - 1" stai inserendo "-1"
>>> 0 - 1
-1

quindi ...
[Edit] Corretto il codice del for, dormo ancora ;)
« Ultima modifica: Luglio 28, 2020, 07:25 da nuzzopippo »

Offline superslick_67

  • python unicellularis
  • *
  • Post: 2
  • Punti reputazione: 0
    • Mostra profilo
Re:Semplice curiosità su python
« Risposta #2 il: Luglio 29, 2020, 14:10 »
Ah ecco, grazie mille  :)