Skip to content

Instantly share code, notes, and snippets.

@kianurivzzz
Created August 23, 2024 11:20
Show Gist options
  • Save kianurivzzz/6c4c4e4d166955046e8493c327abd6b6 to your computer and use it in GitHub Desktop.
Save kianurivzzz/6c4c4e4d166955046e8493c327abd6b6 to your computer and use it in GitHub Desktop.
# нужно создать папку src, если она не создалась и положить туда этот файл
import os
def _right(coll, *values):
return [item for item in coll if item not in values]
def _fail1(coll, *values):
result = [item for item in coll if item not in values]
return None if result else result
def _fail2(coll, *values):
excluded = []
result = []
for element in coll:
if element not in values:
result.append(element)
elif (element in excluded):
result.append(element)
else:
excluded.append(element)
return result
functions = {
"right": _right,
"fail1": _fail1,
"fail2": _fail2,
}
def get_function():
name = os.environ['FUNCTION_VERSION']
return functions[name]

Напиши тесты для функции without(coll, *values). Эта функция должна принимать список в качестве первого параметра, а затем возвращать его копию, из которой исключены значения, переданные вторым и последующими параметрами. Если список содержит несколько одинаковых исключаемых элементов, то исключаются они все:

Для работы используй фреймворк Pytest.

from functions import get_function
without = get_function()

without([2, 1, 2, 3, 4], 2, 3)  # [1, 4]
without([], 2)  # []
# нужно создать папку tests, если она не создалась и положить туда этот файл
from functions import get_function
without = get_function()
# Ниже можно написать решение задания
# Выше можно написать решение задания
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment