1: Объект set не реализует __getitem__, соответственно, доступ к элементам set по индексу невозможен. Приведите set к list для получения доступа к элементу по индексу
2: Функция elem не осуществляет проверку правильности вводимых данных, в следствии чего неверные параметры при вызове функции elem могут поднять исключение IndexError: string/list index out of range.
Пояснения:
Используйте Type Hints для указания принимаемого и возвращаемого типа для функции, а так же добавьте проверку получаемых функцией параметров:
import typing
from typing import List
from typing import Any
def elem(data: List[Any], index: int) -> bool :
try:
print(data[index]); return True
except: return False
elem(list(set('string')), 3)
В предложенном примере кода функция возвращает True или False. в зависимости от результата выполнения. Вы можете добавить декоратор, который будет выводить в консоль сообщение об ошибке вызова без прерывания выполнения программы:
import typing
from typing import List
from typing import Any
from typing import Callable
def Status(func: Callable[[Any], bool]):
def _wrap(*a, **kw):
res = func(*a, **kw)
if not res:
print('error occurred during call function')
return _wrap
@Status
def elem(data: List[Any], index: int) -> bool :
try:
print(data[index]); return True
except: return False
elem(list(set('string')), 3) # -> 'r'
elem(list(set('string')), 32) # -> 'Error occurred during call function'
Все примеры кода написаны для языка Python 3.8.3
Поделитесь своими знаниями, ответьте на вопрос:
Есептеуіш техника буындары
Для формирования сводного отчета по документооборотам выполните действия:
1. Выберите в главном меню «Действия – Сформировать отчет».
Откроется окно «Формирование отчета».
2. Укажите период, за который необходимо сформировать отчет по документооборотам. Для этого воспользуйтесь встроенным календарем или ссылками:
за все время - автоматически проставляется период с начала использования программы по текущую дату.
за месяц - автоматически проставляется период за месяц от текущей даты.
за неделю - автоматически проставляется период за дней от текущей даты.
3. Выберите документообороты, которые необходимо отобразить в сводном отчете при чекбоксов.
4. Укажите при необходимости для каждого направления документооборота дополнительные параметры, нажав на значок .
5. Развернется форма <Название направления документооборота> , например «Налоговая служба».
6. После того как все необходимые параметры отчета заполнены, нужно нажать на кнопку «Сформировать отчет». Начнется процесс формирования отчета, по окончании которого откроется окно просмотра отчета.