diff --git a/TEMA6/test.md b/TEMA6/test.md new file mode 100644 index 0000000..c2f82c3 --- /dev/null +++ b/TEMA6/test.md @@ -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 единиц +```