форкнуто от main/python-labs
main
Родитель
5c5a4d6eaa
Сommit
a61421ba3b
@ -0,0 +1,114 @@
|
||||
\# Модуль 2, тема 6 (вариант 9)
|
||||
|
||||
Бережков Дмитрий А-01-23
|
||||
|
||||
\## Задание:
|
||||
|
||||
1\) Создайте список с 40 элементами - случайными вещественными числами, равномерно распределенными на интервале от -10 до +25. Числа должны быть округлены до трех знаков после точки.
|
||||
|
||||
|
||||
|
||||
2\) Запросите у пользователя и введите два целых числа: N1 и N2 (оба в диапазоне от 1 до 40 и должно быть N1<N2). Проверьте выполнение этих условий и при невыполнении - сообщите об ошибке и повторите ввод.
|
||||
|
||||
|
||||
|
||||
3\) Рассчитайте по элементам списка, начиная с N1 и до N2 среднее значение и вывести его на экран по шаблону: "Для элементов с <N1> по <N2> среднее = <рассчитанное среднее значение>". Значение среднего округлите до двух знаков после точки.
|
||||
|
||||
|
||||
|
||||
4\) Выведите элементы списка с N1 и до N2 в текстовый файл с некоторым именем и с размещением по два элемента на строке с разделителем "," (запятая).
|
||||
|
||||
\# Решение
|
||||
|
||||
\## 1.
|
||||
|
||||
```py
|
||||
|
||||
>>> 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.
|
||||
|
||||
```py
|
||||
|
||||
>>> 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.
|
||||
|
||||
```py
|
||||
|
||||
>>> m=s.mean(spis\[N1:N2+1])
|
||||
|
||||
>>> print("Для элементов с ", N1, "по", N2, "среднее = ", round(m, 2))
|
||||
|
||||
Для элементов с 13 по 25 среднее = 6.75
|
||||
|
||||
```
|
||||
|
||||
\## 4.
|
||||
|
||||
```py
|
||||
|
||||
>>> 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
|
||||
|
||||
```
|
||||
|
||||
Загрузка…
Ссылка в новой задаче