 
Написать на Python Компьютерный вирус атаковал файловую систему суперкомпьютера и повредил
контроль за правами доступа к файлам. Для каждого файла известен набор операций, которые могут быть применены к нему: писать (W), читать (R), выполнить (X). Первая строка содержит число n – количество файлов, содержащихся в файловой системе. Следующие n строк содержат имена файлов и разрешенные операции с ними, разделенные пробелами. Следующая строка содержит целое число m – количество операций с файлами. В следующих m строках записаны операции, выполняемые над файлами. К одному файлу можно обращаться многократно. Для каждого запроса программа должна напечатать OK, если запрошенная операция с файлом возможна, или Access denied, если операцию выполнить невозможно. Вхідні дані: 4 helloworld.py R X pinglog W R scripts R goodluck X W R 5 read scripts write helloworld.py execute scripts read pinglog write pinglog Вихідні дані: OK Access denied Access denied OK OK 0
        0
         0
        0
    Ответы на вопрос
 
        n = int(input()) # количество файлов
files = {} # словарь для хранения разрешенных операций с файлами
# заполнение словаря files
for i in range(n):
name, *ops = input().split()
files[name] = set(ops)
m = int(input()) # количество операций с файлами
# обработка операций с файлами
for i in range(m):
op, name = input().split()
if op == 'read' and 'R' in files[name]:
print('OK')
elif op == 'write' and 'W' in files[name]:
print('OK')
elif op == 'execute' and 'X' in files[name]:
print('OK')
else:
print('Access denied')
 0
                    0
                     0
                    0
                 
            Вот пример решения вашей задачи на языке Python:
pythondef check_file_permissions(permissions, operations):
    file_permissions = {}
    for permission in permissions:
        file, perms = permission.split()
        file_permissions[file] = set(perms)
    results = []
    for operation in operations:
        op, file = operation.split()
        if file in file_permissions:
            if op in file_permissions[file]:
                results.append("OK")
            else:
                results.append("Access denied")
        else:
            results.append("Access denied")
    return results
# Считываем входные данные
n = int(input())
permissions = []
for _ in range(n):
    permissions.append(input())
m = int(input())
operations = []
for _ in range(m):
    operations.append(input())
# Проверяем разрешения и выводим результаты
results = check_file_permissions(permissions, operations)
for result in results:
    print(result)
Программа сначала считывает количество файлов n и их разрешения из входных данных. Затем считывается количество операций m и сами операции. Функция check_file_permissions принимает разрешения и операции в качестве аргументов и проверяет, возможно ли выполнить каждую операцию с файлом. Результаты проверки сохраняются в списке results. Наконец, результаты выводятся на экран.
 0
                    0
                     0
                    0
                Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
- 
			Математика 
- 
			Литература 
- 
			Алгебра 
- 
			Русский язык 
- 
			Геометрия 
- 
			Английский язык 
- 
			Химия 
- 
			Физика 
- 
			Биология 
- 
			Другие предметы 
- 
			История 
- 
			Обществознание 
- 
			Окружающий мир 
- 
			География 
- 
			Українська мова 
- 
			Информатика 
- 
			Українська література 
- 
			Қазақ тiлi 
- 
			Экономика 
- 
			Музыка 
- 
			Право 
- 
			Беларуская мова 
- 
			Французский язык 
- 
			Немецкий язык 
- 
			МХК 
- 
			ОБЖ 
- 
			Психология 
- 
			Физкультура и спорт 
- 
			Астрономия 
- 
			Кыргыз тили 
- 
			Оʻzbek tili 
 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			