Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

3.4 KiB

Тест по модулю 2

Турханов Артем, А-03-23

Задание (Вариант 9)

  1. Создайте список с 40 элементами - случайными вещественными числами, равномерно распределенными на интервале от -10 до +25. Числа должны быть округлены до трех знаков после точки.

  2. Запросите у пользователя и введите два целых числа: N1 и N2 (оба в диапазоне от 1 до 40 и должно быть N1 меньше N2). Проверьте выполнение этих условий и при невыполнении - сообщите об ошибке и повторите ввод.

  3. Рассчитайте по элементам списка, начиная с N1 и до N2 среднее значение и вывести его на экран по шаблону: Для элементов с N1 по N2 среднее равно рассчитанное среднее значение. Значение среднего округлите до двух знаков после точки.

  4. Выведите элементы списка с N1 и до N2 в текстовый файл с некоторым именем и с размещением по два элемента на строке с разделителем запятая.

Решение

Работа в интерпретаторе Python:


>>> import random

>>> import statistics as s

Задача 1


>>> 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


>>> 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


>>> m = s.mean(ls[N1:N2+1])

>>> print("Для элементов с ", N1, "по", N2, "среднее = ", round(m, 2))

Для элементов с  23 по 35 среднее =  1.04

Задача 4


>>> 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