GoloshchapovDY 2 дней назад
Родитель 28aad7c9ec
Сommit 9445ebaa4f

@ -9,10 +9,18 @@
>>>import os
>>>os.chdir('C:\\Users\\Дмитрий\\OneDrive\\Рабочий стол\\Goloshchapov\\python-labs\\TEMA5')
Управляющие инструкции, как и в других языках программирования, используются в Python для разветвления линий потока. Их применение имеет как сходство, так и заметные отличия по сравнению с другими языками программирования. В программах на Python они применяются по следующей общей схеме: <Управляющая инструкция>: <отступы><Блок инструкций>
Здесь управляющая инструкция начинается зарезервированными словами, такими как if, while, for… и дополняется логическим выражением, со значением True или False. Блок инструкций – это совокупность инструкций на языке Python, возможно, включающая вложенные управляющие инструкции. Относительно управляющей инструкции блок инструкций сдвигается влево с использованием одинаковых отступов, задаваемых либо некоторым числом пробелов, либо одной или несколькими табуляциями.
# 2 Изучение блока ЕСЛИ
Были изучены и применены различные конструкции блоков с использованием условия if. Рассмотрены также elif и else. Изучены блоки условий, записываемые в одну строку.
Общее правило написания: if <условие>: <отступы><Блок инструкций, выполняемый, если условие истинно> [elif <условие2>: <отступы><Блок инструкций2, выполняемый, если условие2 истинно> ] [else: < отступы><Блок инструкций3, выполняемый, если условие ложно> ]
Условие задается в виде логического выражения, которое может принимать значение True или False. Блок инструкций может располагаться на нескольких строках. Отступы во всех строках блока должны быть одинаковыми по отношению к первому символу управляющей инструкции. Если имеется вложенная управляющая инструкция, то она вводится с таким же отступом, а все строки ее блоков – отступают по отношению к ее первому символу. Признак конца блока – отсутствие отступов в очередной строке или ввод пустой строки. Если в Блоке инструкций только одна инструкция, её можно записывать без отступов сразу за знаком «:».
>>> porog = 35
>>> rashod1 = 21
>>> rashod2 = 15
@ -36,6 +44,7 @@
>>> dohod
-8
В конструкции if-elif-else всегда выполняется только одна ветвь. Даже если условие в elif также истинно, оно не будет проверено и, соответственно, не выполнится, если до этого уже выполнился блок if. Это связано с тем, что после выполнения любого блока инструкции (будь то if, elif или else) остальные части конструкции игнорируются.
>>> if porog==3:
... dohod=1
@ -49,6 +58,7 @@
>>> dohod
0
Условные инструкции могут записываться также в одну строку в операторе присваивания по следующей схеме: <Объект>=<значение 1> if <условие> else <значение 2> или ещё: if <условие>: <инструкция1>[;<инструкция2>….]
>>> dohod=2 if porog>=4 else 0
>>> dohod
@ -63,6 +73,10 @@
Был изучен и применен блок for, разобрана простая конструкция и несколько сложных.
Общее правило написания: for <Объект-переменная цикла> in <объект>: <отступы><Блок инструкций 1 – тело цикла> [else: < отступы ><Блок инструкций 2 – если в цикле не сработал break>]
Здесь <объект> - любой определенный до начала цикла объект из классов строка, список, кортеж, множество, словарь. <Объект-переменная цикла> - объект, в качестве значений которого поочередно будут задаваться элементы объекта, которые могут быть объектами любого типа. <Блок инструкций 1 – тело цикла> - совокупность инструкций, которая может содержать или не содержать инструкцию break, вызывающую досрочное завершение цикла при некоторых условиях. Блок инструкций 1 обычно выполняется многократно по мере того, как объект-переменная цикла принимает значения из сложного объекта. Если в цикле имеется необязательная часть: else и Блок инструкций 2, то он будет выполняться перед завершением цикла только в том случае, если при выполнении цикла не было его прерывания по инструкции break. Если в Блоке инструкций 1 или в Блоке инструкций 2 только одна инструкция, то её можно записывать без отступов сразу за двоеточием.
# 3.1 Изучение простого цикла for
Был применен простой цикл for, который перебирает числа из сгенерированной последовательности и каждый раз увеличивает заданное значение на это число.
@ -87,6 +101,7 @@
>>> sps
[2, 15, 14, 8, 2, 2, 2, 2, 2, 2, 2]
Как видно, в конец цикла добавляется двойка до тех пор, пока длина не превысит 10. sps - это объект, по которому проходит k, и объект, изменяющийся внутри цикла. Если список изменяется во время цикла, это влияет на последующие итерации. (При этом else в данном случае относится к if, а не к for)
>>> sps=[2,15,14,8]
>>> for k in sps[:]:
@ -98,7 +113,7 @@
# 3.3 Изучение второго сложного цикла for
Был приненен цикл for, в котором при каждой итерации для i от 0 до 9, созданный пустой список пополняется значением от 0 до 97 и подсчитывается сумма чисел в списке. При достижении суммы числа более 500, итерация прерывается. Если же итерации успевают закончиться естественным образом и сумма получается значением менее 500, по сумма печатается на экран.
Был приненен цикл for, в котором при каждой итерации для i от 0 до 9, созданный пустой список пополняется значением от 0 до 100 и подсчитывается сумма чисел в списке. При достижении суммы числа более 500, итерация прерывается. Если же итерации успевают закончиться естественным образом и сумма получается значением менее 500, по сумма печатается на экран.
>>> import random as rn
>>> sps5=[]
@ -141,6 +156,8 @@
>>> ss
'а'
Переменная ss проходит по всему строковому объекту, на каждой итерации принимая значение одного знака. Этот знак с предшествующим пробелом дописывается в конец другой, изначально пустой строки. Цикл закончится, когда закончится исходная строка.
# 3.5 Изучение записи цикла в строке
Был использован цикл для создания сигналов (цикл создает список из чисел, вычесленных по определенному выражению, в которое входит i, изменяемое в ходе итераций от 0 до 99). А также построоен график отображения сигналов.
@ -154,12 +171,16 @@
Text(0.5, 1.0, 'Сигналы')
>>> pylab.show()
Здесь используется конструкция list comprehention (генератор списков). В общем виде она выглядит так: <итоговый список> = [<выражение> for <элемент> in <исходный объект> if <условие>]
![](Ris1.png)
# 4 Изучение цикла While
Были изучены и применены различные варианты циклов с использованием блоков while.
Общее правило написания: while <Условие>: <отступы><Блок инструкций 1 – тело цикла> [else: <отступы><Блок инструкций 2 – если в цикле не сработал break>] Здесь <Условие> - некоторое логическое выражение. Если на очередном витке цикла оно принимает значение True (или не равно 0), то выполняется Блок инструкций 1. При этом, если в этом блоке присутствует инструкция break и она будет выполнена, то цикл завершается, иначе – переходит к новому витку цикла. В блоке инструкций 1 могут быть изменены значения объектов, входящих в Условие и его значение тоже может измениться. Если же его значением останется True, то вновь выполняется Блок инструкций 1 и т.д. Если в цикле присутствует Блок инструкций 2, то он будет выполнен, если завершение цикла произошло не по инструкции break, а по значению False (или значению =0) условия.
# 4.1 Изучение цикла while со счетчиком
Был применен цикл while, который уменьшает значение rashod на 50 единиц. Здесь rashod = True до тех пор пока его значение положительное. Когда rashod становится равным 0, цикл прерывается. На каждой итерации печатается значение rashod.

Загрузка…
Отмена
Сохранить