Файл: Преимущества циклов.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.03.2024

Просмотров: 8

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Преимущества циклов

В Python преимущества циклов, как и в других язвках программирования, заключаются в следующем:

  1. Это обеспечивает возможность повторного использования кода.

  2. Используя циклы, нам не нужно писать один и тот же код снова и снова.

  3. С помощью циклов мы можем перебирать элементы структур данных (массивов или связанных списков).


В Python существуют следующие операторы циклов.


Оператор цикла

Описание

for

Цикл for используется в том случае, когда необходимо выполнить некоторую часть кода до тех пор, пока не будет выполнено заданное условие. Цикл for также называют циклом c предусловием. Лучше использовать цикл for, если количество итераций известно заранее.

while

Цикл while используется в сценарии, когда мы не знаем заранее количество итераций. Блок операторов в цикле while выполняется до тех пор, пока не будет выполнено условие, указанное в цикле while. Его также называют циклом с предварительной проверкой условия.

do-while

Цикл do-while продолжается до тех пор, пока не будет выполнено заданное условие. Его также называют циклом с пстусловием. Он используется, когда необходимо выполнить цикл хотя бы один раз.

Цикл for в Python

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

Синтаксис цикла for в python приведен ниже.

for iterating_var in sequence:

statement(s)



Цикл For с использованием последовательности

Пример 1: Итерация строки с помощью цикла for

str = "Python"

for i in str:

print(i)

Вывод:

P

y

t

h

o

n

Пример 2: Программа для печати таблицы заданного числа.

list = [1,2,3,4,5,6,7,8,9,10]

n = 5


for i in list:

c = n*i

print(c)

Вывод:

5

10

15

20

25

30

35

40

45

50s

Пример 3: Программа для печати суммы заданного списка.

list = [10,30,23,43,65,12]

sum = 0

for i in list:

sum = sum+i

print("The sum is:",sum)

Вывод:

The sum is: 183

Цикл For с использованием функции range()

Функция range()

Функция range() используется для генерации последовательности чисел. Если мы передадим range(10), она сгенерирует числа от 0 до 9. Синтаксис функции range() приведен ниже.

range(start,stop,step size)

  • Start означает начало итерации.

  • Stop означает, что цикл будет повторяться до stop-1. range(1,5) будет генерировать числа от 1 до 4 итераций. Это необязательный параметр.

  • Размер шага используется для пропуска определенных чисел в итерации. Его использование необязательно. По умолчанию размер шага равен 1. Это необязательно.

Рассмотрим следующие примеры:

Пример 1: Программа для печати чисел по порядку.

for i in range(10):

print(i,end = ' ')

Вывод:

0 1 2 3 4 5 6 7 8 9

Пример 2: Программа для печати таблицы заданного числа.

n = int(input("Enter the number "))

for i in range(1,11):

c = n*i

print(n,"*",i,"=",c)

Вывод:

Enter the number 10

10 * 1 = 10

10 * 2 = 20

10 * 3 = 30

10 * 4 = 40

10 * 5 = 50

10 * 6 = 60

10 * 7 = 70

10 * 8 = 80

10 * 9 = 90

10 * 10 = 100

Пример 3: Программа для печати четного числа с использованием размера шага в range().

n = int(input("Enter the number "))

for i in range(2,n,2):

print(i)

Вывод:

Enter the number 20

2

4

6

8

10

12

14

16

18

Мы также можем использовать функцию range() с последовательностью чисел. Функция len() сочетается с функцией range(), которая выполняет итерацию по последовательности с использованием индексации. Рассмотрим следующий пример.

list = ['Peter','Joseph','Ricky','Devansh']

for i in range(len(list)):

print("Hello",list[i])

Вывод:

Hello Peter

Hello Joseph

Hello Ricky

Hello Devansh

Вложенный цикл for в python

Python позволяет нам вложить любое количество циклов for внутрь цикла for. Внутренний цикл выполняется n раз за каждую итерацию внешнего цикла. Синтаксис приведен ниже.

for iterating_var1 in sequence: #outer loop

for iterating_var2 in sequence: #inner loop

#block of statements

#Other statements

Пример 1: Вложенныйцикл for

# User input for number of rows

rows = int(input("Enter the rows:"))

# Outer loop will print number of rows

for i in range(0,rows+1):

# Inner loop will print number of Astrisk

for j in range(i):

print("*",end = '')

print()


Вывод:

Enter the rows:5

*

**

***

****

*****

Пример 2: Программа для печати пирамиды чисел.

rows = int(input("Enter the rows"))

for i in range(0,rows+1):

for j in range(i):

print(i,end = '')

print()

Вывод:

1

22

333

4444

55555

Использование оператора else в цикле for

В отличие от других языков, таких как CC++ или JavaPython позволяет нам использовать оператор else с циклом for, который может быть выполнен только тогда, когда все итерации исчерпаны. Здесь мы должны заметить, что если цикл содержит какой-либо оператор break, то оператор else не будет выполнен.

Пример 1

for i in range(0,5):

print(i)

else:

print("for loop completely exhausted, since there is no break.")

Вывод:

0

1

2

3

4

for loop completely exhausted, since there is no break.

Цикл for полностью исчерпал себя, так как нет прерывания.

Пример 2

for i in range(0,5):

print(i)

break;

else:print("for loop is exhausted");

print("The loop is broken due to break statement...came out of the loop")

В приведенном выше примере цикл прерван из-за оператора break, поэтому оператор else не будет выполнен. Будет выполнен оператор, находящийся непосредственно рядом с блоком else.

Вывод:

0

Цикл был прерван, благодаря оператору break.

Цикл while в Python

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

Его можно рассматривать как повторяющийся оператор if. Когда мы не знаем количество итераций, цикл while является наиболее эффективным.

Синтаксис приведен ниже.

while expression:

statements

Здесь утверждения могут быть одним утверждением или группой утверждений. Выражение должно быть любым допустимым выражением Python, приводящим к true или false. Истиной является любое ненулевое значение, а ложью - 0.



Операторы управления циклом

Мы можем изменить обычную последовательность выполнения цикла while с помощью оператора управления циклом. Когда выполнение цикла while завершается, все автоматические объекты, определенные в этой области видимости, уничтожаются. Python предлагает следующие управляющие операторы для использования в цикле while.

1. Оператор continue - Когда встречается оператор continue, управление переходит в начало цикла. Давайте разберем следующий пример.


# prints all letters except 'a' and 't'

i = 0

str1 = 'javatpoint'

while i < len(str1):

if str1[i] == 'a' or str1[i] == 't':

i += 1

continue

print('Current Letter :', a[i])

i += 1

Вывод:

Current Letter : j

Current Letter : v

Current Letter : p

Current Letter : o

Current Letter : i

Current Letter : n

2. Оператор break - Когда встречается оператор break, он выводит управление из цикла.

Пример:

# The control transfer is transfered

# when break statement soon it sees t

i = 0

str1 = 'javatpoint'

while i < len(str1):

if str1[i] == 't':

i += 1

break

print('Current Letter :', str1[i])

i += 1

Вывод:

Current Letter : j

Current Letter : a

Current Letter : v

Current Letter : a

3. Оператор pass - Оператор pass используется для объявления пустого цикла. Он также используется для определения пустого класса, функции и оператора управления. Давайте разберем следующий пример.

# An empty loop

str1 = 'javatpoint'

i = 0

while i < len(str1):

i += 1

pass

print('Value of i :', i)

Вывод

Value of i : 10

Пример 1: Программа для печати от 1 до 10 с использованием цикла while

i=1

#The while loop will iterate until condition becomes false.

While(i<=10):

print(i)

i=i+1

Вывод

1

2

3

4

5

6

7

8

9

10

Пример 2: Программа для печати таблицы заданных чисел.

i=1

number=0

b=9

number = int(input("Enter the number:"))

while i<=10:

print("%d X %d = %d \n"%(number,i,number*i))

i = i+1

Вывод

Enter the number:10

10 X 1 = 10
10 X 2 = 20
10 X 3 = 30
10 X 4 = 40
10 X 5 = 50
10 X 6 = 60
10 X 7 = 70
10 X 8 = 80
10 X 9 = 90
10 X 10 = 100

Бесконечный цикл while

Если условие, заданное в цикле while, никогда не станет ложным, то цикл while никогда не завершится, и он превратится в бесконечный цикл while.

Любое ненулевое значение в цикле while указывает на всегда истинное состояние, в то время как ноль указывает на всегда ложное состояние. Такой подход полезен, если мы хотим, чтобы наша программа непрерывно выполнялась в цикле без каких-либо помех.

Пример 1

while (1):

print("Hi! we are inside the infinite while loop"

Вывод

Hi! we are inside the infinite while loop

Hi! we are inside the infinite while loop

Пример 2

var = 1

while(var != 2):

i = int(input("Enter the number:"))

print("Entered value is %d"%(i))

Вывод

Enter the number:10

Entered value is 10

Enter the number:10

Entered value is 10

Enter the number:10

Entered value is 10

Infinite time
Использование else в цикле while

Python позволяет нам также использовать оператор else с циклом while. Блок else выполняется, когда условие, заданное в операторе while, становится ложным. Как и в случае с циклом for, если цикл while прервать с помощью оператора break, то блок else не будет выполнен, а будет выполнен оператор, присутствующий после блока else. Оператор else необязателен для использования с циклом while. Рассмотрим следующий пример.


i=1

while(i<=5):

print(i)

i=i+1

else:

print("The while loop exhausted")

i=1

while(i<=5):

print(i)

i=i+1

if(i==3):

break

else:

print("The while loop exhausted")

Вывод

1

2

В приведенном выше коде, когда встречается оператор break, цикл while останавливает свое выполнение и пропускает оператор else.

Программа для печати чисел Фибоначчи до заданного предела

terms = int(input("Enter the terms "))

# first two intial terms

a = 0

b = 1

count = 0

# check if the number of terms is Zero or negative

if (terms <= 0):

print("Please enter a valid integer")

elif (terms == 1):

print("Fibonacci sequence upto",limit,":")

print(a)

else:

print("Fibonacci sequence:")

while (count < terms) :

print(a, end = ' ')

c = a + b

# updateing values

a = b

b = c

count += 1

Enter the terms 10

Fibonacci sequence:

0 1 1 2 3 5 8 13 21 34

Оператор прерывания в Python

Break - это ключевое слово в python, которое используется для вывода управления программой из цикла. Оператор break разрывает циклы по одному, то есть в случае вложенных циклов он сначала разрывает внутренний цикл, а затем переходит к внешним циклам. Другими словами, можно сказать, что break используется для прерывания текущего выполнения программы, и управление переходит на следующую строку после цикла.

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

Синтаксис прерывания приведен ниже.

#оператор цикла

break;

Пример:

list =[1,2,3,4]

count = 1;

for i in list:

if i == 4:

print("item matched")

count = count + 1;

break

print("found at",count,"location");

Вывод:

item matched

found at 2 location

Пример:

str = "python"

for i in str:

if i == 'o':

break

print(i);

Вывод:

p

y

t

h

Пример: оператор break с циклом while

i = 0;

while 1:

print(i," ",end=""),

i=i+1;

if i == 10:

break;

print("came out of while loop");

Вывод:

0 1 2 3 4 5 6 7 8 9 came out of while loop

Пример

n=2

while 1:

i=1;

while i<=10:

print("%d X %d = %d\n"%(n,i,n*i));

i = i+1;

choice = int(input("Do you want to continue printing the table, press 0 for no?"))

if choice == 0:

break;

n=n+1

Вывод:

2 X 1 = 2
2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
2 X 9 = 18
2 X 10 = 20
Do you want to continue printing the table, press 0 for no?1
3 X 1 = 3
3 X 2 = 6
3 X 3 = 9
3 X 4 = 12
3 X 5 = 15
3 X 6 = 18