форкнуто от main/python-labs
Родитель
aef9ef1127
Сommit
90d0dcea2e
Двоичный файл не отображается.
@ -0,0 +1,13 @@
|
|||||||
|
-6.301
|
||||||
|
-8.685
|
||||||
|
-4.592
|
||||||
|
-7.139
|
||||||
|
-5.445
|
||||||
|
-7.428
|
||||||
|
-7.014
|
||||||
|
-5.985
|
||||||
|
-5.544
|
||||||
|
-7.975
|
||||||
|
-4.388
|
||||||
|
-4.993
|
||||||
|
-4.873
|
||||||
@ -0,0 +1,123 @@
|
|||||||
|
# Индивидуальное контрольное задание по Теме 6
|
||||||
|
Ходюк Максим Романович, А-01-23
|
||||||
|
## Задание, Вариант 12
|
||||||
|
|
||||||
|
M2_12
|
||||||
|
1) Создайте список с 25 случайными элементами, подчиняющимися нормальному распределению с математическим ожиданием -6.7 и стандартным отклонением 1.23. Округлите значения элементов до 3-х знаков после точки.
|
||||||
|
|
||||||
|
2) Из элементов списка с нечетными индексами сформируйте кортеж и запишите его в бинарный файл. Остальные элементы запишите в текстовый файл по одному числу на строке.
|
||||||
|
|
||||||
|
3) Удалите из памяти список и кортеж.
|
||||||
|
|
||||||
|
4) Прочитайте числа из текстового файла с записью их в список. Рассчитайте сумму элементов списка. Отобразите результат расчета по шаблону: " Сумма элементов списка=<значение> единиц". Выводите значение с точностью до одного знака после точки.
|
||||||
|
|
||||||
|
5) Запишите это же сообщение в текстовый файл с именем, совпадающим с именем бинарного файла, и с расширением ТХТ.
|
||||||
|
|
||||||
|
### Выполнение
|
||||||
|
Создание списка:
|
||||||
|
```
|
||||||
|
import random
|
||||||
|
spis=[]
|
||||||
|
for i in range(25):
|
||||||
|
spis.append(round(random.gauss(mu=-6.7,sigma=1.23),3))
|
||||||
|
|
||||||
|
|
||||||
|
spis
|
||||||
|
[-6.301, -8.251, -8.685, -5.54, -4.592, -5.929, -7.139, -5.715, -5.445, -9.013, -7.428, -6.661, -7.014, -5.691, -5.985, -5.061, -5.544, -5.526, -7.975, -7.513, -4.388, -8.961, -4.993, -6.828, -4.873]
|
||||||
|
```
|
||||||
|
Создание кортежа:
|
||||||
|
```
|
||||||
|
kort=()
|
||||||
|
SpisToKort= []
|
||||||
|
for i in range(1,25,2):
|
||||||
|
SpisToKort.append(spis[i])
|
||||||
|
|
||||||
|
|
||||||
|
kort = tuple(SpisToKort)
|
||||||
|
kort
|
||||||
|
(-8.251, -5.54, -5.929, -5.715, -9.013, -6.661, -5.691, -5.061, -5.526, -7.513, -8.961, -6.828)
|
||||||
|
```
|
||||||
|
Запись в файлы [KORT.mnz](KORT.mnz) и [SPIS.txt](SPIS.txt) необходимых данных:
|
||||||
|
```
|
||||||
|
import os
|
||||||
|
os.chdir('D:\\POAS\\Hodyuk\\TEMA6\\')
|
||||||
|
|
||||||
|
fpK=open('KORT.mnz','wb+')
|
||||||
|
import pickle
|
||||||
|
pickle.dump(kort,fpK)
|
||||||
|
fpK.close()
|
||||||
|
fpS=open('SPIS.txt','w')
|
||||||
|
for i in range(0,25,2):
|
||||||
|
fpS.write(str(spis[i])+'\n')
|
||||||
|
|
||||||
|
|
||||||
|
7
|
||||||
|
7
|
||||||
|
7
|
||||||
|
7
|
||||||
|
7
|
||||||
|
7
|
||||||
|
7
|
||||||
|
7
|
||||||
|
7
|
||||||
|
7
|
||||||
|
7
|
||||||
|
7
|
||||||
|
7
|
||||||
|
fpS.close()
|
||||||
|
```
|
||||||
|
|
||||||
|
Удаление списка и кортежа из памяти и проверка наличия:
|
||||||
|
```
|
||||||
|
del spis
|
||||||
|
del kort
|
||||||
|
spis
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#41>", line 1, in <module>
|
||||||
|
spis
|
||||||
|
NameError: name 'spis' is not defined
|
||||||
|
kort
|
||||||
|
Traceback (most recent call last):
|
||||||
|
File "<pyshell#42>", line 1, in <module>
|
||||||
|
kort
|
||||||
|
NameError: name 'kort' is not defined
|
||||||
|
```
|
||||||
|
|
||||||
|
Чтение данных из файла [SPIS.txt](SPIS.txt)
|
||||||
|
```
|
||||||
|
fpS=open('SPIS.txt','r')
|
||||||
|
for i in range(0,25,2):
|
||||||
|
chislo= fpS.readline()
|
||||||
|
chislo=chislo.rstrip('\n')
|
||||||
|
chislo=float(chislo)
|
||||||
|
NewSpis.append(chislo)
|
||||||
|
|
||||||
|
|
||||||
|
NewSpis
|
||||||
|
[-6.301, -8.685, -4.592, -7.139, -5.445, -7.428, -7.014, -5.985, -5.544, -7.975, -4.388, -4.993, -4.873]
|
||||||
|
|
||||||
|
fpS.close()
|
||||||
|
```
|
||||||
|
|
||||||
|
Вычисление суммы элементов списка и вывод сообщения с округлением суммы до 1 знака после запятой
|
||||||
|
```
|
||||||
|
summa=sum(NewSpis)
|
||||||
|
summa
|
||||||
|
-80.362
|
||||||
|
|
||||||
|
print(f'Сумма элементов списка = {round(summa,1)} единиц')
|
||||||
|
Сумма элементов списка = -80.4 единиц
|
||||||
|
```
|
||||||
|
|
||||||
|
Вывод того же сообщения в файл [KORT.txt](KORT.txt)
|
||||||
|
```
|
||||||
|
fp = open('KORT.txt','w')
|
||||||
|
import sys
|
||||||
|
vr_out=sys.stdout
|
||||||
|
sys.stdout=fp
|
||||||
|
print(f'Сумма элементов списка = {round(summa,1)} единиц')
|
||||||
|
sys.stdout=vr_out
|
||||||
|
fp.close()
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
Загрузка…
Ссылка в новой задаче