|
|
|
|
@ -0,0 +1,85 @@
|
|
|
|
|
# Индивидуальное контрольное задание по модулю 2
|
|
|
|
|
Киреев Юрий, А-02-23
|
|
|
|
|
## Задание
|
|
|
|
|
1) Создайте список с 25 случайными элементами, подчиняющимися нормальному распределению с математическим ожиданием -6.7 и стандартным отклонением 1.23. Округлите значения элементов до 3-х знаков после точки.
|
|
|
|
|
|
|
|
|
|
2) Из элементов списка с нечетными индексами сформируйте кортеж и запишите его в бинарный файл. Остальные элементы запишите в текстовый файл по одному числу на строке.
|
|
|
|
|
|
|
|
|
|
3) Удалите из памяти список и кортеж.
|
|
|
|
|
|
|
|
|
|
4) Прочитайте числа из текстового файла с записью их в список. Рассчитайте сумму элементов списка. Отобразите результат расчета по шаблону: "Сумма элементов списка = <значение> единиц". Выводите значение с точностью до одного знака после точки.
|
|
|
|
|
|
|
|
|
|
5) Запишите это же сообщение в текстовый файл с именем, совпадающим с именем бинарного файла, и с расширением ТХТ.
|
|
|
|
|
## Решение
|
|
|
|
|
1)
|
|
|
|
|
```py
|
|
|
|
|
spis = [random.gauss(-6.7, 1.23) for x in range (25)]
|
|
|
|
|
spis
|
|
|
|
|
[-8.197422212335816, -7.574367979195539, -8.248648207136844, -7.990453691933484, -8.141501641096257, -7.111273654678145, -6.6380516003931955, -6.734311101253375, -5.507975900785041, -4.813987359682213, -6.6568452400014575, -7.279373137542832, -5.705746481082025, -6.065087925371984, -6.074781438709197, -8.005257284310325, -5.318432003003645, -5.823830096595744, -6.163595205510788, -6.757022447462937, -6.1214339340545685, -6.946666806710584, -3.947016222853067, -6.938975871006476, -5.221201460094965]
|
|
|
|
|
for i in range(len(spis)):
|
|
|
|
|
spis[i] = round(spis[i], 3)
|
|
|
|
|
|
|
|
|
|
spis
|
|
|
|
|
[-8.197, -7.574, -8.249, -7.99, -8.142, -7.111, -6.638, -6.734, -5.508, -4.814, -6.657, -7.279, -5.706, -6.065, -6.075, -8.005, -5.318, -5.824, -6.164, -6.757, -6.121, -6.947, -3.947, -6.939, -5.221]
|
|
|
|
|
```
|
|
|
|
|
2)
|
|
|
|
|
```py
|
|
|
|
|
kort = tuple(spis[i] for i in range(len(spis)) if i%2 == 1)
|
|
|
|
|
kort
|
|
|
|
|
(-7.574, -7.99, -7.111, -6.734, -4.814, -7.279, -6.065, -8.005, -5.824, -6.757, -6.947, -6.939)
|
|
|
|
|
import os
|
|
|
|
|
os.chdir('C:\\Users\\u522-13\\Desktop\\zad')
|
|
|
|
|
import pickle
|
|
|
|
|
with open('zapis.kor','wb') as fp:
|
|
|
|
|
pickle.dump(kort,fp)
|
|
|
|
|
#Содержимое файла:
|
|
|
|
|
Ђ•p (GАKЖ§пќІGАхВЏ\(цGАq©ызl‹GАпќІ-VGАA‰7KЖЁGАІ-VGАBЏ\(хГGА Џ\(хГGАKЖ§пќІGА+IєGАЙє^5?}GАБ‰7KЖЁt”.
|
|
|
|
|
with open ('zapis2.txt','w') as fp:
|
|
|
|
|
for i in range (len(spis)):
|
|
|
|
|
if (i%2 == 0):
|
|
|
|
|
fp.write(str(spis[i]) + '\n')
|
|
|
|
|
#Содержимое файла
|
|
|
|
|
-8.197
|
|
|
|
|
-8.249
|
|
|
|
|
-8.142
|
|
|
|
|
-6.638
|
|
|
|
|
-5.508
|
|
|
|
|
-6.657
|
|
|
|
|
-5.706
|
|
|
|
|
-6.075
|
|
|
|
|
-5.318
|
|
|
|
|
-6.164
|
|
|
|
|
-6.121
|
|
|
|
|
-3.947
|
|
|
|
|
-5.221
|
|
|
|
|
```
|
|
|
|
|
3)
|
|
|
|
|
```py
|
|
|
|
|
del spis, kort
|
|
|
|
|
dir()
|
|
|
|
|
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'fp', 'i', 'os', 'pickle', 'random']
|
|
|
|
|
```
|
|
|
|
|
4)
|
|
|
|
|
```py
|
|
|
|
|
with open('zapis2.txt') as fp:
|
|
|
|
|
for stroka in fp:
|
|
|
|
|
stroka = stroka.rstrip()
|
|
|
|
|
spis.append(float(stroka))
|
|
|
|
|
spis
|
|
|
|
|
[-8.197, -8.249, -8.142, -6.638, -5.508, -6.657, -5.706, -6.075, -5.318, -6.164, -6.121, -3.947, -5.221]
|
|
|
|
|
print ("Сумма элементов списка =",(round(sum(spis), 1)),"единиц")
|
|
|
|
|
Сумма элементов списка = -81.9 единиц
|
|
|
|
|
```
|
|
|
|
|
5)
|
|
|
|
|
```py
|
|
|
|
|
message = f"Сумма элементов списка = {(round(sum(spis), 1))} единиц"
|
|
|
|
|
message
|
|
|
|
|
'Сумма элементов списка = -81.9 единиц'
|
|
|
|
|
|
|
|
|
|
with open('zapis.txt','w') as fp:
|
|
|
|
|
fp.write(message)
|
|
|
|
|
|
|
|
|
|
37
|
|
|
|
|
#Содержимое файла
|
|
|
|
|
Сумма элементов списка = -81.9 единиц
|
|
|
|
|
```
|