November 21, 2022

Циклы.Строки.Списки

Урок 3

Циклы.

Что же такое циклы?

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

Разберем виды циклов.

Существует два вида циклов: for и while.

Циклы упрощают нам создание кода. К примеру нам нужно последовательно напечатать числа от 1 до 9999999999. В отсутствии циклов, эту задачу пришлось бы выполнять в ручную, что потребовало бы большого количества кода и огромных временных затрат.

print(1)
print(2)
print(3)
# ...
# 9999999995 строк
# ...
print(9999999998)
print(9999999999)

Цикл же позволяет нам сократить количество строк кода а так же уменьшить ресурсоемкость.

for i in range(1, 10000000000):
    print(i)
    

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

Вы могли заметить не известное вам слово range() . Давайте разберем что же это такое.

range() можно представлять, как диапазон чисел регулируемый аргументами. Их может быть 1, 2 или 3.

За что отвечает каждый из аргументов в функции range() ?

range(start, stop, step)

Start - это первый элемент последовательности (включая первый).

Stop - это последний элемент последовательности (не включая последний).

Step - разность между следующим и предыдущим членами последовательности.

Приведем пример функции range() для наглядности применения аргументов.

for c in range(0, 13, 3):
    print(c)

>
0
3
6
9
12

Итак мы разобрали цикл for перейдем к циклу while.

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

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

Рассмотрим пример, чтобы лучше понять.

a = 1
while a < 10:
    print("Цикл выполнился", a, "раз(а)")
    a = a+1
print("Цикл окончен")

Вывод:

Цикл выполнился 1 раз
Цикл выполнился 2 раз
Цикл выполнился 3 раз 
Цикл выполнился 4 раз 
Цикл выполнился 5 раз
Цикл выполнился 6 раз
Цикл выполнился 7 раз 
Цикл выполнился 8 раз 
Цикл выполнился 9 раз 
Цикл окончен 

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

Бесконечный цикл while — это цикл, в котором условие никогда не становится ложным. Это значит, что тело исполняется снова и снова, а цикл никогда не заканчивается.

Следующий пример — бесконечный цикл:

a = 1
while a==1:
   b = input("Как тебя зовут?")
   print("Привет", b, ", Добро пожаловать")

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

Ctrl + C.

Break - это ключевое слово которое прерывает цикл и передает управление в конец цикла.

a = 1
while a < 5:
    a+=1
    if a == 3:
       break
print(a)

Continue - это ключевое слово которое прерывает текущую итерацию и передает управление в начало цикла, после чего условие снова проверяется. Если оно истинно, исполняется следующая итерация.

Итерация - это повторение процесса с целью получения результата.
a = 1
while a < 5:
    a+=1
    if a == 3:
       continue
print(a)

Строки.

Строки это последовательность символов произвольной длины.

Давайте поговорим поподробней о функциях строк.

Функция ord(c) - возвращает числовое значение для заданного символа.

То есть показывает номер самого знака.

>>> ord("a")
97
>>> ord("#")
35

Функция chr(n) - возвращает символьное значение для данного целого числа

То есть противоположность функции ord(c)

>>> ord(97)
"a"
>>> ord(35)
"#"

Функция len(s) - возвращает длину строки.

len(s) возвращает кол-во символов в строке s:

>>> s = "Простая строка."
>>> len(s)
15

Функция str(obj) - возвращает строковое представление объекта.

Практически любой объект в Python может быть представлен как строка.

str(obj) возвращает строковое представление объекта obj

>>> str(49.2)
"49.2"
>>> str(3+4j)
"3+4j"

Поговорим о индексации строк.

То есть это значение которое задается символу в строке. Для наглядности приведем пример.

Можно так же отдельно показать индекс символа.

>>> s = "foobar"
>>> s[0]
"f"
>>> s[3]
"b"

Индексы так же можно указывать и отрицательным значением.

Присутствует так же такое понятие как срез строк.

Python также допускает возможность извлечения подстроки из строки, известную как ‘‘string slice’’. Если s это строка, выражение формы s[m:n] возвращает часть s, начинающуюся с позиции m, и до позиции n, но не включая позицию:

>>> s = "python"
>>> s[2:5]
"tho"

Разберем еще одно понятие f-строк.

Например, предположим, что вы хотите отобразить результат арифметического вычисления. Это можно сделать с помощью простого print() и оператора ,, разделяющего числовые значения и строковые.

>>> n = 20
>>> m =25
>>> prod = n*m
>>>print("Произведение", n,"на", m,"равно", prod)
Произведение 20 на 50 равно 500

Выполним тоже самое но с применением f-строк.

>>> n = 20
>>> m = 25
>>> prod = n*m
>>> print(f"Произведение {n} на {m} равно {prod}")
Произведение 20 на 25 равно 500

Итак мы можем заметить что код стал более чистым и в нём труднее запутаться.

Так же есть функция замены строк.

>>>s = "python"
>>> s = s.replace("h", "t")
>>> s
"python"

Списки.

Списки объявляются в квадратных скобках []

>>> a = [2,4,7,8] # Создание списка

Разберем функции списка.

a = [1,2,6,10,12]
a.append(14) #добавляет 14 в конец списка
a.insert(2,7) #добавляет в середину списка
a.pop() # удаляет последний эелемент
a.clear # удаляет весь список 
a.reverse() #разворачивает список задом наперёд
print(a.count(6)) # считает сколько элементов в скобках
print(a[-3]) # квадратные скобки выводят индекс