• Как в python 3 отсортировать двумерный список по двум столбцам?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Метод sort в Python использует устойчивую сортировку, так что вы можете отсортировать дважды - сначала по одному полю, потом по другому.
    Ответ написан
    Комментировать
  • Как в python 3 отсортировать двумерный список по двум столбцам?

    вот прям в лоб не сильно думая
    student_tuples = [
    ...         ('john', 'A', 15),
    ...         ('jane', 'B', 12),
    ...         ('dave', 'B', 10),
    ...         ('dave1', 'B', 11),
    ...         ('dave2', 'B', 1),
    ...     ]
    ... student_tuples.sort(key=lambda student: (student[1], student[2]))
    student_tuples
    [('john', 'A', 15), ('dave2', 'B', 1), ('dave', 'B', 10), ('dave1', 'B', 11), ('jane', 'B', 12)]
    Ответ написан
    Комментировать
  • Как получить текущий путь в BAT файле?

    @res2001
    Developer, ex-admin
    Именно так и узнавать текущий путь: %CD%
    Это не важно где лежит батник, т.к. исполняется не сам батник, а cmd.exe. Т.е. когда вы 2ПКМите на батнике, лежащем на раб.столе запускается команда: cmd.exe /c c:\users\user\Desktop\file.bat
    При этом путь где лежит батник никакого отношения к текущему пути не имеет. cmd.exe обычно запускается с текущим каталогом %SystemRoot%\System32.
    Чтоб перейти в каталог, где лежит батник, используйте команду: cd /d "%~dp0"
    Пути можно получать из параметров батника, указанным способом, то же самое можно делать для переменных цикла, и параметров процедур. Список доступных модификаторов (буквы после %~ доступны в описании команд call и for.
    Ответ написан
    1 комментарий
  • Ошибка [dcc32 Error] september_2016.pas(48): E2029 Declaration expected but end of file found как исправить?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    как исправить?

    end;
    end.

    Точка же подчеркнута красным — ошибка.
    Ответ написан
    Комментировать
  • Почему не создается файл app.module.ts?

    Xuxicheta
    @Xuxicheta Куратор тега Angular
    инженер
    Всё хорошо, в современном ангуляре не нужны модули.
    Разница с ноутом видимо в версии @angular/cli
    Ответ написан
    2 комментария
  • Почему не добавляет элемент в список?

    FoggyFinder
    @FoggyFinder
    Как уже правильно указали, проблема состоит в том, что вы каждый раз создаете новый экземпляр ManagerMeeting:

    public void Route(string answer)
    {
        var manager = new ManagerMeeting();


    Также оставлю несколько комментариев по поводу кода:

    1. Наследование применяете неправильно.

    2. Если в сеттерах свойств нет дополнительной проверки на корректность значений полей, то лучше использовать авто-свойства.

    3. Слишком сложная структура - классы Menu, Route кажутся избыточными. Для таких простых сценариев методы перечисленных классов проще перенести в Program.

    4. Класс ManagerMeeting слишком сильно связан с консолью, кроме того есть зависимость от Menu. Если хотите предоставить методы для управления коллекцией (список встреч), то выставите необходимые методы и уже работайте с ними.

    5. Для форматированного вывода собственных классов удобно переопределить метод .ToString()

    Немного переписанные классы с учетом указанного выше:

    class Meetings // Класс встреч
        {
            public string DateMeeting { get; set; }
            public string StartMeeting { get; set; }
            public string EndMeeting { get; set; }
    
            public override string ToString()
            {
                return $"Дата встречи: {DateMeeting}, Начало встречи: {StartMeeting}, Конец встречи: {EndMeeting}";
            }
        }
    
        class ManagerMeeting //  Класс управление встречами
        {
            public List<Meetings> MeetingList { get; } = new List<Meetings>();
            public void Add(Meetings meet)
            {
                MeetingList.Add(meet);
            }
            public string FormatMeetings()
            {
                StringWriter sw = new StringWriter();
                foreach (var meet in MeetingList)
                    sw.WriteLine(meet);
                return sw.ToString();
            }  
        }


    меню:

    class Program
        {
            static ManagerMeeting manager = new ManagerMeeting();
            public static void ShowMainMenu()
            {
                Console.WriteLine("Выберите действие: \n1. Показать все встречи\n2. Создать новую встречу");
            }
    
            public static bool Handler()
            {
                Console.Clear();
                ShowMainMenu();
                string answer = Console.ReadLine();
                switch (answer)
                {
                    case "1":
                        var result = manager.FormatMeetings();
                        if (string.IsNullOrWhiteSpace(result))
                            Console.WriteLine("Список пуск");
                        else
                            Console.WriteLine(manager.FormatMeetings());
                        return true;
                    case "2":
                        manager.Add(ReadMeeting());
                        return true;
                    default:
                        return false;
                }
            }
    
            public static void Main(string[] args)
            {
                while (Handler()) Console.ReadKey(true);
                Console.ReadKey(true);
            }
    
            public static Meetings ReadMeeting()
            {
                Console.WriteLine("Введите дату встречи:");
                var date = Console.ReadLine();
                Console.WriteLine("Введите время начала встречи:");
                var startMeeting = Console.ReadLine();
                Console.WriteLine("Введите время конца встречи:");
                var endMeeting = Console.ReadLine();
    
                Console.WriteLine("Встреча добавлена! \n ");
                //Для проверки, записываются ли поля - записываются
                Console.WriteLine(date + startMeeting + endMeeting);
                return new Meetings
                {
                    DateMeeting = date,
                    StartMeeting = startMeeting,
                    EndMeeting = endMeeting
                };
            }
        }


    Конечно, код выше тоже далек от идеального (всегда есть что улучшать). Например,:

    Предусмотрите проверку данных:

    В считывания информации с консоли:
    * используйте типы данных которые лучше всего подходят для описания свойств (DateTime для даты и времени вместо универсального string)
    * напишите вспомогательные методы GetInteger, GetDateTime и другие которые будут возвращать результат только после того как пользователь ввел корректные данные.

    В классе ManagerMeeting:

    * Пусть вместо void метод Add -возвращает bool в зависимости от успешности добавления (например, чтобы предусмотреть сценарии добавления давно прошедшей встречей).

    И так далее.
    Ответ написан
    2 комментария
  • Как реализовать переход по ссылке в скрипте jQuery?

    Функция для перехода:
    function go(url){
    location.href=url;
    }
    Ответ написан
    Комментировать
  • Как правильно обновить миграции и базу с помощью Entity Framework?

    sarapinit
    @sarapinit
    Точу водой камень
    Ваш вопрос - отличный пример вопроса, на который не хочется отвечать. Потому что, он в стиле "я что-то сделал и все поломалось, пойдите ко мне в репозиторий и разберитесь". Если хотите повысить шансы на ответ, вам нужно поработать над формулировкой, описать изменения в коде которые сломали ваше приложение, добавить описание ошибки, уточнить, применяли ли вы миграции к базе.

    UPD
    Судя по вашему комментарию вы выкачали из основной ветки коммиты в которых были добавлены поля к уже существующим моделям. Миграции могли быть созданы а могли и не быть созданы. Но суть в том что в запросе по умолчанию указываются все поля которые есть в классе. А их в вашей базе нет.
    Решений несколько:
    1) Если есть новые миграции, то попробуйте их применить
    2) Если нет миграций но есть изменения моделей, то сделайте миграции и примените их (плохой вариант, скорее всего в будущем из основной ветки вы получите конфликтные миграции и головную боль при объединении веток)
    3) Заигнорить недобавленные поля в настройке DbContext, если они вам не нужны
    Ответ написан
    2 комментария
  • Web Api как сделать несколько параметров в Get запросе? И делают ли так?

    Этот тестовый пример далек от реального проекта немного. Все зависит от предметной области (доменной области). Обычно такие вещи выносятся все-таки в гет-параметры
    /users?age=32&name=Tom

    а в сегменты url немного другие вещи. Сравните
    /users/blocked
    /users/active
    /users/1 - тут получаем конкретного юзера с id=1

    гуглите restful api design
    Ответ написан
    7 комментариев
  • Почему не получается работать с терминалом вс кода?

    @boikom
    Перезагрузи если тольки установил ноду и редактор в это время был открыт
    Ответ написан
    2 комментария
  • Как из Visual Studio Code перенести настройки и плагины на другой компьютер?

    @Dredlock
    Уже появилась новая функция внутри программы для этого. См. офф. документацию

    https://code.visualstudio.com/docs/editor/settings-sync
    Ответ написан
    Комментировать
  • Как работать с объектами JSON в Lua?

    JaxxDexx
    @JaxxDexx
    В Lua массивы индексируются с 1, а не с 0
    print("conditions:", data['weather'][1]['main'])
    Ответ написан
    Комментировать
  • Как написать запрос на lua к REST API?

    @kiriharu
    Python backend, Linux enjoyer
    В socket вроде как есть http, поэтому можно следующим образом:

    local http = require("socket.http")
    
    local body, code, headers, status = http.request("http://example.com/lua.php")
    
    if body then
       -- если есть ответ - пишем его
        print(body)
    else 
        -- если нет - скорее всего произошла какая-то ошибка. Выводим код ошибки.
        print(code)
    end
    Ответ написан
    Комментировать
  • Как работать с многоядерными процессорами в Python?

    Sly_tom_cat
    @Sly_tom_cat
    .
    from time import time
    from threading import Thread
    from multiprocessing import Process

    def count(n):
    while n > 0:
    n -= 1

    startTime = time()
    count(100000000)
    count(100000000)
    print('\nSequential execution time : %3.2f s.'%(time() - startTime))

    startTime = time()
    t1 = Thread(target=count, args=(100000000,))
    t2 = Thread(target=count, args=(100000000,))
    t1.start(); t2.start()
    t1.join(); t2.join()
    print('\nThreaded execution time : %3.2f s.'%(time() - startTime))

    startTime = time()
    p1 = Process(target=count, args=(100000000,))
    p2 = Process(target=count, args=(100000000,))
    p1.start(); p2.start()
    p1.join(); p2.join()
    print('\nMultiprocessed execution time : %3.2f s.'%(time() - startTime))

    Дает на 4-х ядерном проце:

    Sequential execution time : 6.83 s.

    Threaded execution time : 11.37 s.

    Multiprocessed execution time : 6.30 s.

    Но допустим распараллеливание запросов к http серверу и в thread варианте даст огромный выигрыш.
    Т.е. без учета специфики задачи - в многопоточность/многопроцессорность - лучше просто не соваться.
    Ответ написан
    1 комментарий
  • Как пофиксить ошибку C# и MS SQL Microsoft.Data.SqlClient.SqlException: "A connection was successfully established with the server, but then an error?

    @Gray_Cat
    Мне помогло TrustServerCertificate=True
    Ответ написан
    Комментировать
  • Как исправить Uncaught TypeError: $(...).live is not a function?

    svistiboshka
    @svistiboshka
    живые веб интерфейсы
    Этот метод доступен только в jquery До версии 1.7 включительно. замените на .on
    Ответ написан
    4 комментария
  • Как выполнить функцию при выборе option в select?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    <select onchange="myFunction()">
    Ответ написан
    1 комментарий
  • В чем отличие образов Consumer Edition от образов из Media Creation Tool?

    @MikeDeveloper
    В сборнике Consumer Edition присутствуют редакции Домашняя и Домашняя для одного языка, но отсутствует корпоративная редакция.

    B Business Edition же присутствует корпоративная редакция и отсутствуют домашние.

    Это объясняется тем, что сборник Business Edition ориентирован на корпоративный сегмент и позволяет использовать VL лицензии Microsoft, в то время как Consumer Edition предназначен для частных лиц и позволяет использовать самый низкий уровень лицензии Ноmе.
    Ответ написан
    1 комментарий
  • Какие книги посоветуете для моих целей в Python?

    1. "Изучаем программирование на Python" Бэрри Пол;
    2. "Django for Beginners: Build websites with Python and Django" William S. Vincent (На амазоне в отзывах пишут, что это лучшая замена официальному руководству);
    3. "Django. Разработка веб-приложений на Python" Джефф Форсье, Пол Биссекс, Уэсли Дж. Чан (здесь информация скорее всего устаревшая, но для базового знакомства пойдет);
    4. Ну и естественно - официальное руководство как по python в общем, так и по django.
    Ответ написан
    3 комментария
  • Программы для UI/UX дизайна?

    KornevaViktoria
    @KornevaViktoria
    Frontend Developer
    sketch, figma, framer, кто-то adobe линейку любит, но первые два варианта более подходят для веб дизайна

    + для прототипирования: invision (ссылка), axure (ссылка)
    Ответ написан
    Комментировать