Съдържание

 

  1. Цикълът FOR
  2. Цикълът WHILE

 

Цикълът FOR

FOR цикълът се използва, когато искаме да изпълним даден код N на брой пъти (за разлика от него WHILE цикълът се използва, когато искаме нашият код да се изпълнява, докато дадено условие е вярно).

Пример за FOR цикъл с 5 повторения (брои от 0 до 4):

  1. for x in range(0, 5):
  2.      print x

Можем да излизаме от цикъла по всяко време с помощта на ключовата дума break. Пример:

  1. for x in xrange(5):
  2.      print x
  3.      if x == 3:
  4.          break

Забележете, че в този пример използваме функцията за генериране на числа xrange, а в първия пример използвахме range. Основната разлика между двете функции е, че xrange хаби по-малко ресурси, тъй като генерира числата на етапи, докато функцията range генерира всички числа наведнъж в самото начало. Това означава, че използвайки функцията xrange, ние няма да сме генерирали напразно всички числа до края на for цикъла, когато излезем по-рано от него с помощта на break. Това е и причината в практиката да се използва по-често функцията xrange.

Опционално в края на for-цикъла може да се добави elsе. Кодът в него се изпълнява след чисто излизане от цикъла (тоест не и когато излезем с break). Пример:

  1. for x in xrange(3):
  2.      print x
  3. else:
  4.      print „last x = „, x

Циклите FOR имат и още едно основно приложение. Ще ви оставя да разгледате следния пример:

  1. collection = [7.0, ‘hello’ , 3]
  2. for x in collection:
  3.      print x

 

Цикълът WHILE

Както вече споменахме, цикълът WHILE не се използва за определен брой повторения, а за повторения, докато дадено условие е изпълнено.

Ето един лесен пример с while:

  1. i = 0
  2. while i < 5:
  3.        i = i + 1
  4.        print i

Работи по следния начин преведено на български език:

‘i’ равно на 0
Докато ‘i’ е по-малко от 5, прави следното:
Увеличи стойността на ‘i’ с 1.
Отпечатай на екрана стойността на ‘i’.

С помощта на WHILE цикълът можем да създаваме безкрайни цикли. Например ако искаме потребителят да въвежда текст, докато въведе точно определена от нас дума, while цикълът би ни свършил чудесна работа, тъй като не знаем предварително колко опита от страна на потребителя ще отнеме да въведе думата. Идеята е да създадем безкраен цикъл (използваме за условието TRUE, тоест винаги е вярно) и да излезем от цикъла с помощта на break, когато потребителя въведе желаната дума:

  1. while True:
  2.       n = raw_input(„Write number smaller than 10: „)
  3.       if n < 10:
  4.           break

Автор: Мартин Михайлов