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

3.7 KiB

Индивидуальное контрольное задание по Модулю 2

Беженарь Алёна, А-02-23, Вариант 6

Задание

  1. Создайте список с 50 целыми числами из интервала значений от 12 с шагом 4. Создайте кортеж с 25 числами, случайно отобранными из списка.

  2. Выведите элементы кортежа в текстовый файл по 5 чисел в строке с разделителем -"запятая". Имя файла выберите сами.

  3. Удалите из памяти ранее созданные список и кортеж.

  4. Прочитайте данные из файла с записью их в кортеж. Отобразите кортеж на экране по 5 чисел в строке.

  5. По значениям кортежа рассчитайте число элементов, не превышающих пороговое значение, запрашиваемое у пользователя, и число элементов, больше этого значения. Отобразите результат одной строкой на экране.

Решение

1 Пункт.

>>> 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 Пункт.

>>> 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 Пункт.

>>> del spis, kort
>>> dir()
    ['OutStr', '__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'fp', 'i', 'os', 'pickle', 'random', 'sys']

4 Пункт.

>>> 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 Пункт.

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