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