# Индивидуальное контрольное задание по модулю 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 единиц ```