Files
python-labs/TEMA6/test.md

86 строки
4.0 KiB
Markdown
Исходник Ответственный История

Этот файл содержит невидимые символы Юникода
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Индивидуальное контрольное задание по модулю 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 единиц
```