Циклы в программировании — это строки кода, которые многократно выполняются компьютером до тех пор, пока не будут выполнены определенные условия. Этот цикл может использоваться всеми языками программирования, включая Python.

В Python есть два типа циклов. То есть:

  1. Пока
  2. Для

While может использоваться для циклов, в которых количество итераций известно, а количество итераций неизвестно. При использовании While известны только условия цикла.

А использование For можно использовать только для циклов с заданным количеством повторений.

Во-первых, мы узнаем, как использовать цикл While.

Пока цикл

Синтаксис цикла «Пока»:

while condition:
      program ...
      program ...

Пока условие истинно, программа в цикле While будет продолжать работать. И остановится, только если условие имеет значение False.

Пример:

n = 1
while n <= 5:
      print("Hello World")
      n = n + 1

Выход:

Hello World
Hello World
Hello World
Hello World
Hello World

В приведенной выше программе мы делаем значение n = 1, если мы делаем его 0, то вывод будет повторяться 6 раз. Потому что python использует целочисленную систему, которая считает числа, начиная с 0.

И условие для программы n ≤ 3, что означает, что пока значение n не достигло 3, она будет продолжать работать. И n + 1 используется для добавления 1 значения к n. Таким образом, значение n, которое ранее было равно 1, будет продолжать увеличиваться на 1, пока программа выполняется.

В цикле while вы можете использовать условие «Истина», что означает, что программа будет продолжать работать без остановки. Посмотрите на следующий пример.

Скрипт:

while True:
      password = input("Input Password: ")

Выход:

Input Password: 123
Input Password: 142
Input Password: 1531
Input Password: 102
Input Password: 1542
Input Password:
...

Программа будет работать без остановки, потому что в программе нет команды на остановку программы. Команда остановки для остановки циклической программы с условием True состоит в использовании «разрыва».

while True:
      password = int(input("Input Password: "))
      if password == 4321:
         break

print("Hello, there!")

Выход:

Input Password: 2532
Input Password: 1234
Input Password: 4321
Hello, there!

В цикл мы можем добавить оператор continue, который должен пропустить текущую итерацию до следующей итерации. Посмотрите на следующий пример.

Скрипт:

i = 1
while i < 10:
      i = i+1
      if i % 2 == 0:
         continue
      print(i, "= Hello, there!")

Выход:

1 = Hello, there!
skipped          --> i % 2 = 0
3 = Hello, there!
skipped          --> i % 2 = 0
5 = Hello, there!
skipped          --> i % 2 = 0
7 = Hello, there!
skipped          --> i % 2 = 0
9 = Hello, there!
skipped          --> i % 2 = 0

Оно было пропущено программой, так как значение ‘i’ делится на 0.

Примечание. Если в Python есть бесконечный цикл, его можно решить, нажав CTRL+C.

Для цикла

Синтаксис для цикла:

for i in range (j):
    program ...
    program ...

В соответствии с приведенным выше синтаксисом цикл For выполняется 'j' раз. Для каждой итерации значение ‘i’ будет меняться, начиная с 0, 1, 2, 3, …, n-1. Если оно достигает этого значения, цикл останавливается.

Пример:

for i in range (4):
    print("Hello World")

Выход:

Hello World
Hello World
Hello World
Hello World

Мы можем создавать разные диапазоны. Например, диапазон(x, y).

for i in range (1, 4):
    print("Number = ", i)

Выход:

Number =  1
Number =  2
Number =  3

И мы также можем сделать range(x, y, z). z - значение шага. В range(x, y, step) имеет значение величина увеличения значения переменной-счетчика. Сначала значение переменной счетчика равно x, а затем в каждом цикле значение увеличивается на количество шагов. И цикл остановится, пока значение не достигнет y.

Пример:

for i in range (1, 4):
    print("Number = ", i)

Выход:

Number = 1
Number = 3
Number = 5
Number = 7
Number = 9

Мы можем отобразить нечетные числа от 1 до 20 без команды печати 20 раз.

Скрипт:

number = 0
print("Odd Number 0 - 20")
for i in range(20):
    if (i % 2 == 1):
    #change enter to space using end command after print
    print(i, end=' ')

Выход:

Odd Number 0 - 20
1 3 5 7 9 11 13 15 17 19

И мы можем суммировать кратные 2 (четные числа) от 0 до 20 без подсчета по одному.

Скрипт:

number = 0
total = 0
print("Even number from 0-20")
print()

for i in range(20):
    if (i % 2 != 1):
        print(i, end=' ')
        number = number + 1
        total = total + i
print()
print("Total sum of numbers:", total)
print("Number of even numbers:", number)

Выход:

Even number from 0-20
0 2 4 6 8 10 12 14 16 18
Total sum of numbers: 90
Number of even numbers: 10

И мы создадим простую программу, которая делает треугольники из звезд (*).

Пример 1:

for i in range (0, 4):
    for j in range(0, i+1):
        print("* ", end = "")
    print()

Вывод примера 1:

* 
* * 
* * * 
* * * *

Пример 2:

for i in range(4, 0, -1):
    for j in range(1, i + 1):
        print("* ", end = "")
    print()

Вывод примера 2:

* * * * 
* * * 
* * 
*

Узнав о цикле в питоне, мы можем сделать мини-игру. Мини-игра выберет случайное число от 0 до 100, и вам нужно будет угадать его. Каждый неправильный ответ будет уменьшать ваш балл на -2. Давайте попробуем эту скриптовую программу.

Скрипт мини-игры:

from random import randint
scores = 100
#pick random number
numbers = randint(0, 100)
print("Guess the numbers starting from 0-100")
print()
while True:
   guess = int(input("Your Guess: "))
   if guess > numbers:
      print("Your guess is too big")
      #decrease the score
      scores -= 2
      print()
   elif guess < numbers:
      print("Your guess is too small")
      #decrease the score
      scores -= 2
      print()
   elif guess == numbers:
      print("Congratulations, your guess is right!!")
      print()
      break
print("Your score:", scores)

Вы можете попробовать приведенный выше скрипт на своем собственном питоне или, возможно, захотите изменить программу.

Надеюсь, эта статья поможет начинающим программистам на Python. Спасибо за чтение. Хорошего дня!