Files
python-labs/TEMA6/test.md

285 строки
4.3 KiB
Markdown
Исходник Ответственный История

Этот файл содержит невидимые символы Юникода
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
\# Тест по Тест по модулю 2
Володин Денис, А-02-23
\## Задание (Вариант 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
```py
>>> 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
```py
>> 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
```py
>>> m = s.mean(ls\\\\\\\[N1:N2+1])
>>> print("Для элементов с ", N1, "по", N2, "среднее = ", round(m, 2))
Для элементов с 23 по 35 среднее = 6.75
```
\### Задача 4
```py
>>> 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]
```