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

4.2 KiB

## Индивидуальное контрольное задание по Теме 6

Володин Денис, А-02-23

## Задание

M2_9

1) Создайте список с 40 элементами - случайными вещественными числами, равномерно распределенными на интервале от -10 до +25. Числа должны быть округлены до трех знаков после точки.

2) Запросите у пользователя и введите два целых числа: N1 и N2 (оба в диапазоне от 1 до 40 и должно быть N1<N2). Проверьте выполнение этих условий и при невыполнении - сообщите об ошибке и повторите ввод.

3) Рассчитайте по элементам списка, начиная с N1 и до N2 среднее значение и вывести его на экран по шаблону: "Для элементов с по среднее = <рассчитанное среднее значение>". Значение среднего округлите до двух знаков после точки.

4) Выведите элементы списка с N1 и до N2 в текстовый файл с некоторым именем и с размещением по два элемента на строке с разделителем "," (запятая).

## Решение


>>> import random

>>> import statistics as s

## Задача 1


>>> ls = \\\[round(random.uniform(-10,25), 3) for i in range(40)]

>>> ls

\[5.593, 11.646, 21.831, 16.838, 7.196, -3.278, 13.094, 10.889, 3.748, -1.791, -8.37, 11.543, 6.465, 14.959, 19.224, 4.497, 18.171, 1.949, 18.913, 10.893, -5.047, 14.986, -0.171, 24.507, 12.176, -0.913, 12.096, -6.397, 2.606, 22.988, 2.624, 3.735, 22.156, -8.006, 2.271, -2.078, 15.368, 7.756, 3.344, 3.355]

## Задача 2


>>> while True:

&nbsp;	print("Введите через пробел два целых числа от 1 до 40, так чтобы первое было меньше второго")

&nbsp;	N1, N2 = map(int, input("Ввод: ").split())

&nbsp;	if N1 > N2:

&nbsp;		print("Первое должно быть меньше второго. Повторите попытку.")

&nbsp;	elif N1<1:

&nbsp;		print("Условия ввода не выполнены. Повотрите попытку")

&nbsp;	elif N1>40:

&nbsp;		print("Условия ввода не выполнены. Повотрите попытку")

&nbsp;	elif N2<1:

&nbsp;		print("Условия ввода не выполнены. Повотрите попытку")

&nbsp;	elif N2>40:

&nbsp;		print("Условия ввода не выполнены. Повотрите попытку")

&nbsp;	else: break



Введите через пробел два целых числа от 1 до 40, так чтобы первое было меньше второго

Ввод: 40 15

Первое должно быть меньше второго. Повторите попытку.

Введите через пробел два целых числа от 1 до 40, так чтобы первое было меньше второго

Ввод: -2 50

Условия ввода не выполнены. Повотрите попытку

Введите через пробел два целых числа от 1 до 40, так чтобы первое было меньше второго

Ввод: 23 35



>>> N1; N2

23

35

## Задача 3


>>> m = s.mean(ls\\\[N1:N2+1])

>>> print("Для элементов с ", N1, "по", N2, "среднее = ", round(m, 2))

Для элементов с  23 по 35 среднее =  6.75

## Задача 4


>>> import os

>>> os.chdir(r"C:\\\\Users\\\\denvo\\\\OneDrive\\\\Рабочий стол\\\\python-labs\\\\TEMA6")

>>> st=ls\\\[N1:N2+1]

>>> with open('test1.txt', 'w') as fp:

&nbsp;	for i in range(len(st)//2+1):

&nbsp;		fp.write(str(ls\[N1:N2+1]\[2\*i:2\*i+2]) + "\\n")



\[24.507, 12.176]

\[-0.913, 12.096]

\[-6.397, 2.606]

\[22.988, 2.624]

\[3.735, 22.156]

\[-8.006, 2.271]

\[-2.078]