И как потом объединить клиентскую и серверную часть(чтобы я мог получать результаты запросов API с сервера)?
Есть ли какие-либо руководства по созданию сервера.
Во-первых я не совсем понимаю, где располагается сервер.
На хостинге, где расположен сам сайт, или для сервера нужен отдельный хостинг?
Во-вторых я не понимаю как сделать так, чтобы сервер не переставал работать(в отличии от API, которое отправляется с каждого устройства и работает пока открыта страница сайта).
В-третьих я так понимаю, что сервер должен быть написан на том же языке, что и сам сайт?
commands.Bot
(и по идее - client, который является родительским классом) invalid syntax. Perhaps you forgot a comma?
неверный синтаксис. Возможно, вы забыли запятую?
stream.py
действительно лежит в соответствующем каталоге cogs
.from random import randint, choice
import unittest
import typing
_VARIANTS = [] # Сюда попадут все решения, которые нужно тестировать
# А это декоратор, которым нужно пометить все претенденты на решение
solution = lambda f: _VARIANTS.append(f) or f
EXAMPLES = [
('', ''),
('a', 'a1'),
('abc', 'a1b1c1'),
('aaaabbca', 'a4b2c1a1'),
]
@solution
def encode_dna(dna:str) -> str:
if not dna:
return ''
dna_letters_list = list(dna.lower())
letters_count = []
letters_count.append([dna_letters_list[0],1])
dna_letters_list.pop(0)
for letter in dna_letters_list:
if letter == letters_count[-1][0]:
letters_count[-1][1] += 1
else:
letters_count.append([letter,1])
for count in enumerate(letters_count, start=0):
index,count = count
string = ''.join(map(str,count))
letters_count[index] = string
encoded_dna = ''.join(letters_count)
return encoded_dna
class Test(unittest.TestCase):
"""Автоматический тест решений.
Претенденты на решение должны быть помечены декоратором @solution
Примеры берутся из списка EXAMPLES.
"""
def closure(func, arg, res):
"""Временная функция, которая делает тест.
Она формирует каждый раз новую функуию-замыкание, которая будет тестировать
оережной кейс.
"""
def test(self):
f"""Тест функции {func.__name__}({arg!r})"""
self.assertEqual(func(arg), res, msg=f'Func {func.__name__}({arg!r})')
return test
# Перебираем все варианты реализаций:
for f in _VARIANTS:
# Перебираем все предлженные эталонные римеры:
for case_num, case in enumerate(EXAMPLES):
# Создаём новую функуию теста и добавляем ее в класс теста как метод.
locals()[f'test_{f.__name__}__{case_num}'] = closure(f, *case)
# Удаляем из контекста класса лишние переменные
del(closure, f, case_num, case)
if __name__ == '__main__':
unittest.main(verbosity=3)
js отправить post запросв гуле/яндексе у вас не вышло?
Формально внешние сервисы демонстрации разрешены, но как минимум у вас не настолько много кода, чтобы он засорял вопрос.
Во вторых, как я понял - код там хранится 24-часа (судя по надписи в шапке)