форкнуто от main/python-labs
				
			
							Родитель
							
								
									13ca6d37d0
								
							
						
					
					
						Сommit
						039e74c207
					
				@ -0,0 +1,138 @@
 | 
				
			||||
# Отчет по теме 5
 | 
				
			||||
 | 
				
			||||
Коваленко Дмитрий, А-01-23
 | 
				
			||||
 | 
				
			||||
## 5 Блоки инструкций, управляющие инструкции
 | 
				
			||||
 | 
				
			||||
### 5.1 Изучим ветвления if
 | 
				
			||||
```py
 | 
				
			||||
porog = 12
 | 
				
			||||
rashod1 = 5
 | 
				
			||||
rashod2 = 7
 | 
				
			||||
dohod = 0
 | 
				
			||||
if rashod1 >= porog:
 | 
				
			||||
    dohod = 12
 | 
				
			||||
elif rashod2 == porog:
 | 
				
			||||
    dohod = 0
 | 
				
			||||
else:
 | 
				
			||||
    dohod =- 8
 | 
				
			||||
>>> dohod
 | 
				
			||||
-8
 | 
				
			||||
 | 
				
			||||
if rashod1 >= 3 and rashod2 == 4:
 | 
				
			||||
    dohod = rashod1
 | 
				
			||||
    if rashod2 == porog or rashod1 < rashod2:
 | 
				
			||||
        dohod = porog
 | 
				
			||||
 | 
				
			||||
if porog == 3:
 | 
				
			||||
    dohod = 1
 | 
				
			||||
elif porog == 4:
 | 
				
			||||
    dohod = 2
 | 
				
			||||
elif porog == 5:
 | 
				
			||||
    dohod = 3
 | 
				
			||||
else:
 | 
				
			||||
    dohod = 0
 | 
				
			||||
 | 
				
			||||
>>> dohod=2 if porog>=4 else 0
 | 
				
			||||
>>> if porog>=5 : rashod1=6; rashod2=0
 | 
				
			||||
```
 | 
				
			||||
 | 
				
			||||
### 5.2 Изучим цикл for
 | 
				
			||||
 | 
				
			||||
```py
 | 
				
			||||
temperatura = 5
 | 
				
			||||
for i in range(3, 18, 3):
 | 
				
			||||
    temperatura += i
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
sps = [2, 15, 14, 8]
 | 
				
			||||
for k in sps:
 | 
				
			||||
    if len(sps) <= 10: sps.append(sps[0])
 | 
				
			||||
    else:
 | 
				
			||||
        break
 | 
				
			||||
 | 
				
			||||
>>> sps
 | 
				
			||||
[2, 15, 14, 8, 2, 2, 2, 2, 2, 2, 2]
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
sps = [2, 15, 14, 8]
 | 
				
			||||
for k in sps[:]:
 | 
				
			||||
    if len(sps) <= 10: sps.append(sps[0])
 | 
				
			||||
    else: break
 | 
				
			||||
 | 
				
			||||
>>> sps
 | 
				
			||||
[2, 15, 14, 8, 2, 2, 2, 2]
 | 
				
			||||
 | 
				
			||||
import random as rn
 | 
				
			||||
sps5=[]
 | 
				
			||||
for i in range(10):
 | 
				
			||||
    sps5.append(rn.randint(1,100))
 | 
				
			||||
    ss=sum(sps5)
 | 
				
			||||
    if ss>500: break
 | 
				
			||||
else:
 | 
				
			||||
    print(ss)
 | 
				
			||||
 | 
				
			||||
301
 | 
				
			||||
...
 | 
				
			||||
...
 | 
				
			||||
436
 | 
				
			||||
```
 | 
				
			||||
Как можно видеть, программа не всегда выводит значения на экран. Это происходит из-за оперратора `break`, который завершает цикл, если сумма ss первысила 500. В этом случае `else` не выполняется. 
 | 
				
			||||
 | 
				
			||||
```py
 | 
				
			||||
stroka='Это – автоматизированная система'
 | 
				
			||||
stroka1=""
 | 
				
			||||
for ss in stroka:
 | 
				
			||||
    stroka1+=" "+ss
 | 
				
			||||
 | 
				
			||||
import math, pylab
 | 
				
			||||
sps2=[math.sin(i*math.pi/5+2) for i in range(100)]
 | 
				
			||||
 | 
				
			||||
pylab.plot(sps2)
 | 
				
			||||
pylab.show()
 | 
				
			||||
```
 | 
				
			||||
Полученный график: 
 | 
				
			||||
 | 
				
			||||
### 5.3 Изучим цикл while
 | 
				
			||||
 | 
				
			||||
```py
 | 
				
			||||
rashod = 300
 | 
				
			||||
while rashod:
 | 
				
			||||
    print("Расход=",rashod)
 | 
				
			||||
    rashod-=50
 | 
				
			||||
 | 
				
			||||
Расход= 300
 | 
				
			||||
Расход= 250
 | 
				
			||||
Расход= 200
 | 
				
			||||
Расход= 150
 | 
				
			||||
Расход= 100
 | 
				
			||||
Расход= 50
 | 
				
			||||
 | 
				
			||||
import math, pylab
 | 
				
			||||
stroka='Расчет процесса в объекте регулирования'
 | 
				
			||||
i=0
 | 
				
			||||
sps2=[]
 | 
				
			||||
while i<len(stroka):
 | 
				
			||||
    r=1-2/(1+math.exp(0.1*i))
 | 
				
			||||
    sps2.append(r)
 | 
				
			||||
    print('Значение в момент',i,"=",r)
 | 
				
			||||
    i+=1
 | 
				
			||||
else:
 | 
				
			||||
    pylab.plot(sps2)
 | 
				
			||||
    pylab.show()
 | 
				
			||||
```
 | 
				
			||||
Полученный график: 
 | 
				
			||||
 | 
				
			||||
```py
 | 
				
			||||
chislo=267 
 | 
				
			||||
kandidat =chislo // 2 	
 | 
				
			||||
while kandidat > 1:
 | 
				
			||||
    if chislo%kandidat == 0:
 | 
				
			||||
        print(chislo, ' имеет множитель ', kandidat)
 | 
				
			||||
        break
 | 
				
			||||
    kandidat -= 1
 | 
				
			||||
else:
 | 
				
			||||
    print(chislo, ' является простым!')
 | 
				
			||||
 | 
				
			||||
267  имеет множитель  89
 | 
				
			||||
```
 | 
				
			||||
| 
		 После Ширина: | Высота: | Размер: 37 KiB  | 
| 
		 После Ширина: | Высота: | Размер: 16 KiB  | 
@ -0,0 +1,42 @@
 | 
				
			||||
# Общее контрольное задание по теме 5
 | 
				
			||||
 | 
				
			||||
Коваленко Дмитрий, А-01-23
 | 
				
			||||
 | 
				
			||||
## Задание
 | 
				
			||||
Реализовать, записать в текстовый файл программы и результаты их выполнения при решении следующих задач:\
 | 
				
			||||
•	Для заданной символьной строки с англоязычным текстом (его можно заимствовать из помощи) определите порядковый номер каждой буквы в английском алфавите.\
 | 
				
			||||
•	Создайте список со словами из задания данного пункта. Для этого списка – определите, есть ли в нем некоторое заданное значение, и выведите соответствующее сообщение: либо о нахождении элемента, либо о его отсутствии в списке (проверить как с имеющимся, так и с отсутствующим словом).\
 | 
				
			||||
•	Создайте список студентов вашей группы (3-4 фамилии) и список их средних баллов в летней сессии – в порядке перечисления студентов в первом списке. Создайте еще 2 аналогичных списка для тех же студентов, но в другом порядке, по зимней сессии. Напишите инструкции, позволяющие по указанной (запрошенной и введенной) фамилии студента вывести его средние баллы по двум сессиям.
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
## Решение
 | 
				
			||||
 | 
				
			||||
```py
 | 
				
			||||
from string import ascii_lowercase
 | 
				
			||||
text = '''Bury the light deep within
 | 
				
			||||
Cast aside, there's no coming home'''
 | 
				
			||||
 | 
				
			||||
for el in text:
 | 
				
			||||
    index = ascii_lowercase.find(el.lower())
 | 
				
			||||
    print(index + 1 if index != -1 else el, end='')
 | 
				
			||||
print()
 | 
				
			||||
 | 
				
			||||
words = ['Создайте', 'список', 'со', 'словами', 'из', 'задания', 'данного', 'пункта', 'Для', 'этого', 'списка', 'определите', 'есть', 'ли', 'в', 'нем', 'некоторое', 'заданное', 'значение', 'и', 'выведите', 'соответствующее', 'сообщение', 'либо', 'о', 'нахождении', 'элемента', 'либо', 'о', 'его', 'отсутствии', 'в', 'списке', 'проверить', 'как', 'с', 'имеющимся', 'так', 'и', 'с', 'отсутствующим', 'словом']
 | 
				
			||||
keyWord = input('Введите слово, искомое в списке: ')
 | 
				
			||||
 | 
				
			||||
result = f'есть в списке' if keyWord in words else 'отсутствует в списке'
 | 
				
			||||
print(f'Введенное Вами слово {keyWord} {result}')
 | 
				
			||||
 | 
				
			||||
surnames1 = ['Коваленко', 'Лыкова', 'Ходюк']
 | 
				
			||||
marks1 = [4.75, 3.75, 4.75]
 | 
				
			||||
surnames2 = ['Лыкова', 'Коваленко', 'Ходюк']
 | 
				
			||||
marks2 = [3.25, 4.5, 4.75]
 | 
				
			||||
 | 
				
			||||
student = input('Введите фамилию студента: ')
 | 
				
			||||
if student in surnames1:
 | 
				
			||||
    print(f'Средний балл студента {student} за летнюю сессию {marks1[surnames1.index(student)]} и {marks2[surnames2.index(student)]} за зимнюю')
 | 
				
			||||
else:
 | 
				
			||||
    print('Студент отсутствует в списке')
 | 
				
			||||
```
 | 
				
			||||
@ -0,0 +1,25 @@
 | 
				
			||||
from string import ascii_lowercase
 | 
				
			||||
text = '''Bury the light deep within
 | 
				
			||||
Cast aside, there's no coming home'''
 | 
				
			||||
 | 
				
			||||
for el in text:
 | 
				
			||||
    index = ascii_lowercase.find(el.lower())
 | 
				
			||||
    print(index + 1 if index != -1 else el, end='')
 | 
				
			||||
print()
 | 
				
			||||
 | 
				
			||||
words = ['Создайте', 'список', 'со', 'словами', 'из', 'задания', 'данного', 'пункта', 'Для', 'этого', 'списка', 'определите', 'есть', 'ли', 'в', 'нем', 'некоторое', 'заданное', 'значение', 'и', 'выведите', 'соответствующее', 'сообщение', 'либо', 'о', 'нахождении', 'элемента', 'либо', 'о', 'его', 'отсутствии', 'в', 'списке', 'проверить', 'как', 'с', 'имеющимся', 'так', 'и', 'с', 'отсутствующим', 'словом']
 | 
				
			||||
keyWord = input('Введите слово, искомое в списке: ')
 | 
				
			||||
 | 
				
			||||
result = f'есть в списке' if keyWord in words else 'отсутствует в списке'
 | 
				
			||||
print(f'Введенное Вами слово {keyWord} {result}')
 | 
				
			||||
 | 
				
			||||
surnames1 = ['Коваленко', 'Лыкова', 'Ходюк']
 | 
				
			||||
marks1 = [4.75, 3.75, 4.75]
 | 
				
			||||
surnames2 = ['Лыкова', 'Коваленко', 'Ходюк']
 | 
				
			||||
marks2 = [3.25, 4.5, 4.75]
 | 
				
			||||
 | 
				
			||||
student = input('Введите фамилию студента: ')
 | 
				
			||||
if student in surnames1:
 | 
				
			||||
    print(f'Средний балл студента {student} за летнюю сессию {marks1[surnames1.index(student)]} и {marks2[surnames2.index(student)]} за зимнюю')
 | 
				
			||||
else:
 | 
				
			||||
    print('Студент отсутствует в списке')
 | 
				
			||||
					Загрузка…
					
					
				
		Ссылка в новой задаче