Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

86 строки
4.0 KiB
Markdown

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Индивидуальное контрольное задание по модулю 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Аq©ызlпќІ-VGАA7KЖЁGАІ-V\(хГGА Џ\(хГGА§пќІ+ IєGАЙє^5?}Б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 единиц
```