3.1 KiB
# Модуль 2, тема 6 (вариант 9)
Бережков Дмитрий А-01-23
## Задание:
1) Создайте список с 40 элементами - случайными вещественными числами, равномерно распределенными на интервале от -10 до +25. Числа должны быть округлены до трех знаков после точки.
2) Запросите у пользователя и введите два целых числа: N1 и N2 (оба в диапазоне от 1 до 40 и должно быть N1<N2). Проверьте выполнение этих условий и при невыполнении - сообщите об ошибке и повторите ввод.
3) Рассчитайте по элементам списка, начиная с N1 и до N2 среднее значение и вывести его на экран по шаблону: "Для элементов с по среднее = <рассчитанное среднее значение>". Значение среднего округлите до двух знаков после точки.
4) Выведите элементы списка с N1 и до N2 в текстовый файл с некоторым именем и с размещением по два элемента на строке с разделителем "," (запятая).
# Решение
## 1.
>>> import random
>>> spis=\[round(random.uniform(-10,25),3) for i in range(40)]
>>> spis
\[7.516, -2.114, -9.291, -3.274, 5.377, 7.296, -7.056, 15.582, 1.109, 9.562, 15.332, 17.638, 20.63, 16.09, 6.675, -1.211, -7.609, 16.373, 9.693, 19.774, 6.965, 8.367, 20.76, -9.153, -0.4, 1.487, 23.166, 11.878, 18.716, -2.98, 7.488, -8.928, 16.113, 9.6, 14.858, -6.395, 20.009, 15.412, 21.472, 11.904]
## 2.
>>> while True:
... print("Введите через пробел два целых числа от 1 до 40 (первое должно быть меньше второго)")
... N1, N2=map(int, input("Ввод: ").split())
... if N1 > N2 :
... print("Первое должно быть меньше второго. Повторите попытку.")
... else: break
...
...
Введите через пробел два целых числа от 1 до 40 (первое должно быть меньше второго)
Ввод: 13 5
Первое должно быть меньше второго. Повторите попытку.
Введите через пробел два целых числа от 1 до 40 (первое должно быть меньше второго)
Ввод: 13 25
>>> N1, N2
(13, 25)
## 3.
>>> m=s.mean(spis\[N1:N2+1])
>>> print("Для элементов с ", N1, "по", N2, "среднее = ", round(m, 2))
Для элементов с 13 по 25 среднее = 6.75
## 4.
>>> f1=open("test1.txt","w")
>>> for i in range(len(spis\[N1:N2+1])//2 + 1):
... f1.write(str(spis\[N1:N2+1]\[2\*i:2\*i+2]) + "\\n")
...
...
15
17
16
16
15
15
8