Python, commande range

Bonjour

Pourquoi le langage Python exclu la borne supérieure de l'intervalle défini par range ?
Pourquoi range(1,4) n'est constitué que de 1,2,3 ? Quel est l’intérêt d'exclure la borne supérieure ?

Merci,
Marion.

Réponses

  • Bonjour,

    Avec range(1,4), on a 4-1=3, et card({1,2,3})=3. Autrement dit card (range(p,n))=n-p.

    Cordialement,

    Rescassol
  • OK mais si on prend la borne supérieure, card(range(p,n))=p-n+1.
    En quoi c'est problématique du point de vue informatique ?
  • L'usage le plus fréquent, c'est range(n) ; la convention choisie a deux avantages :
    • elle commence la numérotation à $0$ ;
    • la liste construite contient n éléments.
    L'avantage du deuxième point n'est pas informatique, il est dans la relation avec le programmeur : pas d'opération à faire pour connaître le nombre d'éléments de range(n).
  • Et d'ailleurs, $n=\{0,1,\ldots,n-1\}$ (en commençant avec $0=\emptyset$).
Connectez-vous ou Inscrivez-vous pour répondre.