x = await asyncio.create_task(startq(message))
x = await startq(message)
asyncio.create_task(startq(message))
z = x + y
превратится в что-то типа [ (token.IDENTIFIER, 'z'), (token.OPERATOR, '=') (token.IDENTIFIER, 'x'), (token.OPERATOR, '+') (token.IDENTIFIER, 'y') ]
open('text1.txt', 'w', encoding='utf-8')
srcpath = Path(file_path)
if srcpath.is_file() and srcpath.suffix == '.pdf':
...
with (srcpath.parent / 'text1.txt').open('wt', encoding='utf-8') as file:
...
empty_list = []
print('Before')
for item in empty_list:
print('Item:', item)
print('After')
with open('input.json', 'rt') as src:
raise ValueError(src.read())
with open('input.json', 'rt') as src:
data = json.load(src)
raise ValueError(repr(type(data))) # вернёт скорее всего <type 'list'>. Закомментируешь эту строку и делаешь:
raise ValueError(repr(data[0])) # ну и так далее пока не поймешь, что за структуру данных тебе подсовывают.
equity_result1 = [ ... ] # твои данные - значения эквити во времени
# определяем индексы таких элементов, которые больше своих соседей слева и справа.
local_max_idx = [ i for i in range(1, len(equity_result1) - 1) if equity_result1[i-1] < equity_result1[i] and equity_result1[i+1] < equity_result1[i] ]
# определяем минимумы для интервалов, следующих за соотв. локальным максимумом
local_min = [ min(equity_result1[i+1:]) for i in local_max_idx ]
# определяем индексы этих минимумов в списке equity_result1
local_min_idx = [ i+1+equity_result1[i+1:].index(minval) for i, minval in zip(local_max_idx, local_min) ]
# собираем сведения о "перепадах" в один список пар индексов (максимум, минимум)
differences = list(zip(local_max_idx, local_min_idx))
# ищем наибольший "перепад" по критерию "разность между значением максимума и минимума"
i_max, i_min = max(differences, key = lambda item: equity_result1[item[0]] - equity_result1[item[1]])
# интересующий тебя интервал - между i_max и i_min включительно
async def command(ctx, a: str, b: str, c:str)
!command раз два три
a, b, c == "раз", "два", "три"
async def command(ctx, a: str, b: str)
!command "раз два" три
a, b == "раз два", "три"
async def command(ctx, a: str, *b: str)
!command раз два три
a, b == "раз", ("два", "три")
async def command(ctx, a: str, *, b: str)
!command раз два три
a, b == "раз", "два три"
>>> a = -100
>>> b = -100
>>> a is b
False
>>> a = 100
>>> b = 100
>>> a is b
True
import discord
from discord.ext import commands
client=commands.Bot(command_prefix=".")
class Buttons(discord.ui.View): # класс описывает набор кнопок
def __init__(self, *, timeout=180): # конструктор класса
super().__init__(timeout=timeout)
# этому методу будет сопоставлена кнопка. По клику метод будет вызван.
@discord.ui.button(label="Button",style=discord.ButtonStyle.gray)
async def gray_button(self,button:discord.ui.Button,interaction:discord.Interaction):
# ищи сведения об объекте discord.Interaction, чтобы понять, что ещё можно сделать в обработчике кнопки.
await interaction.response.edit_message(content=f"This is an edited button response!")
# альтернативно, тут ты можешь вызывать требуемые тебе методы и вообще делать что нужно
@client.command()
async def button(ctx): # по команде !button отсылается сообщение с кнопками
await ctx.send(
"This message has buttons!", # текст сообщения как обычно
view=Buttons() # создаём экземпляр класса Buttons и прикрепляем его
)
token=""
client.run(token) # запуск бота
import discord
from discord.ext import commands
client=commands.Bot(command_prefix=".")
class Buttons(discord.ui.View): # класс описывает набор кнопок
def __init__(self, *, timeout=180): # конструктор класса
super().__init__(timeout=timeout)
# этому методу будет сопоставлена кнопка. По клику метод будет вызван.
@discord.ui.button(label="Button",style=discord.ButtonStyle.gray)
async def gray_button(self,button:discord.ui.Button,interaction:discord.Interaction):
# ищи сведения об объекте discord.Interaction, чтобы понять, что ещё можно сделать в обработчике кнопки.
await interaction.response.edit_message(content=f"This is an edited button response!")
# альтернативно, тут ты можешь вызывать требуемые тебе методы и вообще делать что нужно
@client.command()
async def button(ctx): # по команде !button отсылается сообщение с кнопками
await ctx.send(
"This message has buttons!", # текст сообщения как обычно
view=Buttons() # создаём экземпляр класса Buttons и прикрепляем его
)
token=""
client.run(token) # запуск бота
field = [ ['_'] * 3, ['_'] * 3, ['_'] * 3 ]
for i in len(field): # перебираем элементы поля
values = { field[i][c] for c in len(field[i]) } # собираем символы i-й строки в _множество_
if len(values) == 1 and '_' not in values: # есть строка из одинаковых символов, но не из "_"
return field[i][0] # возвращаем символ-победитель
values = { field[r][i] for r in len(field) } # собираем символы i-го столбца
if len(values) == 1 and '_' not in values: # есть столбец из одинаковых символов, но не из "_"
return field[0][i] # возвращаем символ-победитель