# Индивидуальное контрольное задание по Модулю 2 Беженарь Алёна, А-02-23, Вариант 6 ## Задание 1) Создайте список с 50 целыми числами из интервала значений от 12 с шагом 4. Создайте кортеж с 25 числами, случайно отобранными из списка. 2) Выведите элементы кортежа в текстовый файл по 5 чисел в строке с разделителем -"запятая". Имя файла выберите сами. 3) Удалите из памяти ранее созданные список и кортеж. 4) Прочитайте данные из файла с записью их в кортеж. Отобразите кортеж на экране по 5 чисел в строке. 5) По значениям кортежа рассчитайте число элементов, не превышающих пороговое значение, запрашиваемое у пользователя, и число элементов, больше этого значения. Отобразите результат одной строкой на экране. ## Решение ### 1 Пункт. ```py >>> import random >>> spis=list(range(12,12+50*4,4)) # Создание списка с 50 числами из интервала значений от 12 с шагом 4 >>> len(spis) # Проверка, что список содержит 50 значений 50 >>> kort = tuple(random.sample(spis,25)) # Создание кортежа с 25 со случайно отобранными числами из списка spis >>> kort; len(kort) (168, 184, 208, 156, 128, 192, 136, 148, 176, 28, 172, 160, 124, 76, 112, 16, 116, 48, 120, 84, 36, 92, 144, 60, 72) 25 ``` ### 2 Пункт. ```py >>> import os >>> os.chdir("C:\\Users\\u522-14\\Desktop\\BezhenarAN\\python-labs\\TEMA6") #устанавливаем рабочую директорию для работы с файлами >>> with open("numbers.txt", "w") as fp: ... for i in range (0,25,5): ... fp.write(str(kort[i:i+5]).replace("(", "").replace(")", "").replace(" ", "") + "\n") 20 19 19 17 16 ``` ### 3 Пункт. ```py >>> del spis, kort >>> dir() ['OutStr', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'fp', 'i', 'os', 'pickle', 'random', 'sys'] ``` ### 4 Пункт. ```py >>> with open ("numbers.txt", "r") as fp: ... numbers = [] ... for stroka in fp: ... stroka = stroka.strip() #удаление /n с конца ... numbers = numbers + [int(x) for x in stroka.split(",")] #запись чисел из строки разделенных запятой в список для дальнейшего преобразования в кортеж ... kort = tuple (numbers) >>> for i in range (0,len(kort),5): #вывод на экран кортежа по 5 чисел на строку ... print(str(kort[i:i+5]).replace("(", "").replace(")", "").replace(" ", "")) 168,184,208,156,128 192,136,148,176,28 172,160,124,76,112 16,116,48,120,84 36,92,144,60,72 ``` ### 5 Пункт. ```py >>> porog = int(input("Введите пороговое значение:")) Введите пороговое значение:100 >>> bolshe =0; menshe = 0 >>> for x in kort: ... if x<=porog: ... menshe+=1 ... else: ... bolshe+=1 ... >>> print(f"Кол-во элементов <= {porog}: {menshe}, а кол-во элементов > {porog}:{bolshe}") Кол-во элементов <= 100: 9, а кол-во элементов > 100:16 ```