форкнуто от main/python-labs
Родитель
332b0f411d
Сommit
ecd8f9d04f
@ -0,0 +1,146 @@
|
||||
\# Тест по модулю 2
|
||||
|
||||
|
||||
|
||||
Турханов Артем, А-03-23
|
||||
|
||||
|
||||
|
||||
\## Задание (Вариант 9)
|
||||
|
||||
1\) Создайте список с 40 элементами - случайными вещественными числами, равномерно распределенными на интервале от -10 до +25. Числа должны быть округлены до трех знаков после точки.
|
||||
|
||||
|
||||
|
||||
2\) Запросите у пользователя и введите два целых числа: N1 и N2 (оба в диапазоне от 1 до 40 и должно быть N1 меньше N2). Проверьте выполнение этих условий и при невыполнении - сообщите об ошибке и повторите ввод.
|
||||
|
||||
|
||||
|
||||
3\) Рассчитайте по элементам списка, начиная с N1 и до N2 среднее значение и вывести его на экран по шаблону: Для элементов с N1 по N2 среднее равно рассчитанное среднее значение. Значение среднего округлите до двух знаков после точки.
|
||||
|
||||
|
||||
|
||||
4\) Выведите элементы списка с N1 и до N2 в текстовый файл с некоторым именем и с размещением по два элемента на строке с разделителем запятая.
|
||||
|
||||
|
||||
|
||||
\## Решение
|
||||
|
||||
Работа в интерпретаторе Python:
|
||||
|
||||
|
||||
|
||||
```py
|
||||
|
||||
>>> import random
|
||||
|
||||
>>> import statistics as s
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
\### Задача 1
|
||||
|
||||
```py
|
||||
|
||||
>>> ls = \[round(random.uniform(-10,25), 3) for i in range(40)]
|
||||
|
||||
>>> ls
|
||||
|
||||
\[-6.647, 11.686, 0.282, 7.076, 5.322, 6.109, 24.168, 15.496, -3.542, -1.761, -4.768, 8.133, 24.641, -5.998, -9.316, 9.496, 22.462, -3.721, -5.284, 19.572, -3.515, 9.983, 11.048, 3.111, -0.163, 24.061, -4.053, 5.918, -3.921, 2.927, -7.089, 2.65, -6.661, -2.789, 2.802, -3.251, 23.262, 11.119, 9.139, 23.301]
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
\### Задача 2
|
||||
|
||||
```py
|
||||
|
||||
>>> while True:
|
||||
|
||||
print("Введите чеоез пробед два целых числа от 1 до 40, так чтобы первое было меньше второго")
|
||||
|
||||
N1, N2 = map(int, input("Ввод: ").split())
|
||||
|
||||
if N1 > N2:
|
||||
|
||||
print("Первое должно быть меньше второго. Повторите попытку.")
|
||||
|
||||
else: break
|
||||
|
||||
|
||||
|
||||
Введите чеоез пробед два целых числа от 1 до 40, так чтобы первое было меньше второго
|
||||
|
||||
Ввод: 40 15
|
||||
|
||||
Первое должно быть меньше второго. Повторите попытку.
|
||||
|
||||
Введите чеоез пробед два целых числа от 1 до 40, так чтобы первое было меньше второго
|
||||
|
||||
Ввод: 23 35
|
||||
|
||||
>>> N1; N2
|
||||
|
||||
23
|
||||
|
||||
35
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
\### Задача 3
|
||||
|
||||
```py
|
||||
|
||||
>>> m = s.mean(ls\[N1:N2+1])
|
||||
|
||||
>>> print("Для элементов с ", N1, "по", N2, "среднее = ", round(m, 2))
|
||||
|
||||
Для элементов с 23 по 35 среднее = 1.04
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
\### Задача 4
|
||||
|
||||
```py
|
||||
|
||||
>>> ls\[N1:N2+1]
|
||||
|
||||
\[3.111, -0.163, 24.061, -4.053, 5.918, -3.921, 2.927, -7.089, 2.65, -6.661, -2.789, 2.802, -3.251]
|
||||
|
||||
|
||||
|
||||
>>> fp = open("test.txt", "w")
|
||||
|
||||
>>> for i in range(len(ls\[N1:N2+1])//2 + 1):
|
||||
|
||||
fp.write(str(ls\[N1:N2+1]\[2\*i:2\*i+2]) + "\\n")
|
||||
|
||||
|
||||
|
||||
15
|
||||
|
||||
16
|
||||
|
||||
15
|
||||
|
||||
15
|
||||
|
||||
14
|
||||
|
||||
15
|
||||
|
||||
8
|
||||
|
||||
>>> fp.close()
|
||||
|
||||
```
|
||||
|
||||
!\[test.png](test.png)
|
||||
|
||||
|
После Ширина: | Высота: | Размер: 8.7 KiB |
Загрузка…
Ссылка в новой задаче