boucle for python

boucle for python - Python - Programmation

Marsh Posté le 21-01-2011 à 20:19:41    

Bonjour,
 
Je débute sous Python, et j'ai une question concernant la boucle for
 
par exemple, pour :
 

Code :
  1. i=1
  2. for i in range(10)
  3. print i


Il affiche à partir de 0.
Comment fait-on pour initialiser le i dans la boucle for ?
 
J'ai une autre question concernant la différence entre
 

Code :
  1. for i in range(10)


et

Code :
  1. for i in xrange(10)


 
Quelle est la différence entre ces deux lignes, est-ce qu'ils font la même chose ?
 
 
Merci de votre aide.

Reply

Marsh Posté le 21-01-2011 à 20:19:41   

Reply

Marsh Posté le 21-01-2011 à 20:31:50    

1/ Quand tu fais "for i in range(10)" i parcourt la liste "range(10)", i.e [0,1,...,10], pour faire ce que tu veux, il faut faire "for i in range(1,10).
2/ xrange utilise un generateur, google te donnera plus de details.


Message édité par mr simon le 21-01-2011 à 20:32:00
Reply

Marsh Posté le 21-01-2011 à 20:45:28    

ce que je trouve sur xrange, c'est qu'il est plus rapide que range, est-ce qu'il fait donc la même chose que range en mieux ?

Reply

Marsh Posté le 21-01-2011 à 20:59:16    

les deux ont la meme fonctionnalite. range va vraiment creer la list en memoire, alors que xrange va utilise un generateur (yield). Par consequent, il est plus efficace dans une boucle for comme la tienne car tu n'as pas besoin de la liste en tant que telle. C'est d'autant plus vrai que ta liste est longue.
 

Reply

Marsh Posté le 22-01-2011 à 08:53:37    

cricket18 a écrit :

ce que je trouve sur xrange, c'est qu'il est plus rapide que range, est-ce qu'il fait donc la même chose que range en mieux ?


Avant toute chose pour débuter dans un langage faudrait commencer par lire un bouquin, ça aide énormément à comprendre les bases du langages en question et comment on écrire les éléments de base if,else/for/while/etc...


---------------
Blablaté par Harko
Reply

Marsh Posté le 22-10-2011 à 22:37:21    

cricket18 a écrit :

Bonjour,
 
Je débute sous Python, et j'ai une question concernant la boucle for
 
par exemple, pour :
 

Code :
  1. i=1
  2. for i in range(10)
  3. print i


Il affiche à partir de 0.
Comment fait-on pour initialiser le i dans la boucle for ?
 


le i=1 ne sert à rien car tu le réinitialises dans ta boucle for
le bon code est:
par défaut ta premier valeur est 0 de ce fait ta valeur max sera valeur max-1.  
 

Code :
  1. for i in range (1,10,1):
  2.     print i


la troisième virgule est le pas entre le min et le max. Par défaut il vaut 1 donc il est dans ce cas inutile de le rajouter

Code :
  1. for i in range (1,10):
  2.     print i


 
je te conseille ce site pour débuter :  http://www.siteduzero.com/tutoriel [...] ucles.html

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed