dict_ #наш словарь
user_list # введенный пользователем список (учитываем, что в словарь запихнули цифры, а пользователь вводит строки, т.е. нужно будет преобразовать
# находим массив ключей с совпадающим значением
result = [key for key, value in dict_.items() if value == user_list]
# просто проверка, есть ли наш список среди значений
if user_list in dict_.values():
os.walk
не может заранее знать кол-во файлов, соответственно нельзя будет заранее масштабировать прогресс бар. Если нужен прогресс, тогда заранее полностью пройдитесь по всему дереву через os.walk, запомните в массив структуру и посчитайте кол-во файлов. А уже потом проходитесь по конечному массиву списка файлов и обновляйте прогресс. CODES_FILENAME = "codes.txt"
def claim_code(code):
with open(CODES_FILENAME) as f:
codes = f.read().splitlines()
# если код есть в списке, то удаляем из списка и выполняем что еще нужно в случае успеха
if code in codes:
codes.remove(code)
with open(CODES_FILENAME, "w") as of:
of.write('\n'.join(codes))
# здесь например запуск какой-то функции для проставления бета-тестера
return True
return False
# затем при получении ввода пользователя вызывать нашу процедуру
res = claim_code('298')
print(res)
datetime.datetime.timestamp(дата)
np.diff(x)/np.diff(t)
if el in jobs[key]
не всегда будет работать так, как предполагалось. Потому что el это элемент из job1, т.е. отдельное слово. А jobs хранит в том числе и полные фразы."weather": ["Погода","Какая погода","Какая температура", ...]
уже нельзя так строить условие. По факту, если ввести "Какая погода", то получим job1 = ["Какая", "погода"]
и условие будет сравниватьif "Какая" in ["Погода","Какая погода","Какая температура", ...]
, соответственно ничего не найдет, т.к. это будет сравнение не по подстроке, а по полному соответствию элементов.