{
"name": "Function parameters",
"scope": [
"variable.parameter.function",
"variable.parameter.function.jsdoc",
"variable.parameter.function.ts",
"variable.parameter.function.tsx"
],
"settings": {
"fontStyle": "italic",
"foreground": "#FFB86C"
}
},
{
"name": "Generics, templates, and mapped type declarations",
"scope": [
"entity.name.type.type-parameter",
"meta.indexer.mappedtype.declaration entity.name.type",
"meta.type.parameters entity.name.type"
],
"settings": {
"foreground": "#FFB86C"
}
},
{
"name": "JSDoc-style comment parameters",
"scope": ["comment.block.documentation variable"],
"settings": {
"foreground": "#FFB86C",
"fontStyle": "italic"
}
}
'\n'.join(commands_history)
), потом рисуйте эту переменную где вам нужно (в виде текста), и в цикле превращайте историю команд в строку (см. выше), и обновляйте контент текста, и потом создайте input (или как вы хотите что бы ваша команда поступала), после нажатия кнопки или Enter (сделайте как вам угодно), выполняйте эту команду через os.system
, и добавляйте команду в историю команд. Если вы хотите что бы после команды выводился вывод команды, то это будет посложнее. def sort_insertion(array: list) -> list:
for i in range(1, len(array)):
x = array[i]
j = i
while j > 0 and array[j - 1] > x:
array[j] = array[j - 1]
j -= 1
array[j] = x
return array
sort_insertion([2, 3, 3, 4, 1, 50, 5]) # => [1, 2, 3, 3, 4, 5, 50]
Первый вариант: 7600 наносекунд
Второй вариант (sort_insertion): 5200 наносекунд (т.е быстрее на 32%)