ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.03.2024
Просмотров: 8
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Преимущества циклов
В Python преимущества циклов, как и в других язвках программирования, заключаются в следующем:
-
Это обеспечивает возможность повторного использования кода. -
Используя циклы, нам не нужно писать один и тот же код снова и снова. -
С помощью циклов мы можем перебирать элементы структур данных (массивов или связанных списков).
В 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
В отличие от других языков, таких как C, C++ или Java, Python позволяет нам использовать оператор 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