форкнуто от 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('Студент отсутствует в списке')
 | 
				
			||||||
					Загрузка…
					
					
				
		Ссылка в новой задаче