форкнуто от main/python-labs
Родитель
36c48fdf12
Сommit
211083769b
@ -0,0 +1,170 @@
|
||||
\## Индивидуально контрольное задание по Теме 6
|
||||
|
||||
|
||||
|
||||
Володин Денис, А-02-23
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\## Задание
|
||||
|
||||
|
||||
|
||||
M2\_9
|
||||
|
||||
|
||||
|
||||
1\) Создайте список с 40 элементами - случайными вещественными числами, равномерно распределенными на интервале от -10 до +25. Числа должны быть округлены до трех знаков после точки.
|
||||
|
||||
|
||||
|
||||
2\) Запросите у пользователя и введите два целых числа: N1 и N2 (оба в диапазоне от 1 до 40 и должно быть N1<N2). Проверьте выполнение этих условий и при невыполнении - сообщите об ошибке и повторите ввод.
|
||||
|
||||
|
||||
|
||||
3\) Рассчитайте по элементам списка, начиная с N1 и до N2 среднее значение и вывести его на экран по шаблону: "Для элементов с <N1> по <N2> среднее = <рассчитанное среднее значение>". Значение среднего округлите до двух знаков после точки.
|
||||
|
||||
|
||||
|
||||
4\) Выведите элементы списка с N1 и до N2 в текстовый файл с некоторым именем и с размещением по два элемента на строке с разделителем "," (запятая).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\## Решение
|
||||
|
||||
|
||||
|
||||
```py
|
||||
|
||||
>>> 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:
|
||||
|
||||
print("Введите через пробел два целых числа от 1 до 40, так чтобы первое было меньше второго")
|
||||
|
||||
N1, N2 = map(int, input("Ввод: ").split())
|
||||
|
||||
if N1 > N2:
|
||||
|
||||
print("Первое должно быть меньше второго. Повторите попытку.")
|
||||
|
||||
elif N1<1:
|
||||
|
||||
print("Условия ввода не выполнены. Повотрите попытку")
|
||||
|
||||
elif N1>40:
|
||||
|
||||
print("Условия ввода не выполнены. Повотрите попытку")
|
||||
|
||||
elif N2<1:
|
||||
|
||||
print("Условия ввода не выполнены. Повотрите попытку")
|
||||
|
||||
elif N2>40:
|
||||
|
||||
print("Условия ввода не выполнены. Повотрите попытку")
|
||||
|
||||
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:
|
||||
|
||||
for i in range(len(st)//2+1):
|
||||
|
||||
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]
|
||||
|
||||
```
|
||||
|
||||
Загрузка…
Ссылка в новой задаче