
Помогите с этими заданиями на Python, даю 45 баллов: 1: Создайте модуль (модуль - программа на
Python, т.е. файл с расширением .py). В нем создайте функцию создающую директории от dir_1 до dir_9 в папке из которой запущен данный код. Затем создайте вторую функцию удаляющую эти папки. Проверьте работу функций в этом же модуле. 2: Создайте модуль. В нем создайте функцию, которая принимает список и возвращает из него случайный элемент. Если список пустой функция должна вернуть None. Проверьте работу функций в этом же модуле. *Примечание: Список для проверки введите вручную. Или возьмите этот: [1, 2, 3, 4] 3: Создайте модуль main.py. Из модулей реализованных в заданиях 1 и 2 сделайте импорт в main.py всех функций. Вызовите каждую функцию в main.py и проверьте что все работает как надо. *Примечание: Попробуйте импортировать как весь модуль целиком (например из задачи 1), так и отдельные функции из модуля.

Ответы на вопрос

Ответ:
--- Python 3.8.3 ---
#1 - file mdir.py
import os
import sys
import difflib
__all__ = ['CreateEmptyDir', 'RmDir']
__here__ = os.path.dirname(os.path.realpath(__file__))
#Функция, создающая папки
def CreateEmptyDir(count, path = __here__):
try:
for i in range(count):
rpath = path + f'\\dir_{i}'
os.mkdir(rpath)
except OSError:
print(f'Failed to create directory {path}')
#Функция, удаляющая папки
def RmDir(mask, path = __here__):
try:
for folder in os.listdir(path):
s = difflib.SequenceMatcher(None, mask, folder)
if s.ratio() > 0.8:
f = path + '\\' + folder
if os.path.isdir(f):
os.rmdir(f)
except OSError as e:
print(f'Failed to remove directory {f}\n{e}')
#Вызов функций из модуля
def main():
CreateEmptyDir(10)
next = input()
RmDir('dir_')
if __name__ == "__main__":
main()
#2 - file randchoise.py
import random
__all__ = ['RandChoise']
def RandChoise(lst):
if len(lst) == 0: return None
return random.choice(lst)
def main():
data = [1,2,3,4]
print(RandChoise(data))
if __name__ == "__main__":
main()
#3 main.py
from mdir import *
from randchoise import *
import time
def main():
CreateEmptyDir(10)
time.sleep(3) #Что бы успели прогрузиться созданные папки
RmDir('dir_')
print(RandChoise([1,2,3,4,5,6,7,8,9,2,1,32,31,2540]))
if __name__ == "__main__":
main()



Конечно, я помогу вам с этими заданиями. Давайте начнем с создания модулей и функций.
Задание 1: Создайте модуль dir_operations.py
:
pythonimport os
def create_directories():
for i in range(1, 10):
dir_name = f'dir_{i}'
os.makedirs(dir_name)
def delete_directories():
for i in range(1, 10):
dir_name = f'dir_{i}'
if os.path.exists(dir_name) and os.path.isdir(dir_name):
os.rmdir(dir_name)
if __name__ == "__main__":
create_directories()
delete_directories()
Задание 2: Создайте модуль list_operations.py
:
pythonimport random
def get_random_element(my_list):
if not my_list:
return None
return random.choice(my_list)
if __name__ == "__main__":
my_list = [1, 2, 3, 4]
random_element = get_random_element(my_list)
print("Random Element:", random_element)
Задание 3: Создайте модуль main.py
для тестирования функций из модулей 1 и 2:
pythonfrom dir_operations import create_directories, delete_directories
from list_operations import get_random_element
if __name__ == "__main__":
# Задание 1
create_directories()
delete_directories()
# Задание 2
my_list = [1, 2, 3, 4]
random_element = get_random_element(my_list)
print("Random Element:", random_element)
Теперь, когда у вас есть все три модуля, вы можете запустить main.py
для проверки работоспособности функций из модулей 1 и 2. Ваша программа создаст директории и удалит их, а также выберет случайный элемент из списка.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili