Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как сделать видео редактор на python?

Лучший ответ:
Взять нормальный компилируемый язык. Изучить. А питон использовать как следует - в виде плагинов для видеоредактора.

Худший ответ:
Исходники видеоредактора Pitivi:
https://gitlab.gnome.org/GNOME/pitivi

Инструкция по подготовке окружения для работы над проектом тут, но при беглом чтении непонятно какие использованы зависимости и как их поставить отдельно:
https://developer.pitivi.org/HACKING.html?gi-langu...

Зависимости проекта указаны немного странно тут (см. конец файла):
https://gitlab.gnome.org/GNOME/pitivi/-/blob/maste...

В ClassicDependency обёрнуты зависимости от Python пакетов (matplotlib и numpy), а как ставить остальное кажется надо смотреть где-то тут:

PyGObject
The Python GTK+ 3 Tutorial

Ну или гуглить инструкцию по установке зависимостей запросами, вроде:
GstVideo + Python

Хотя для простого проекта (вроде курсовой) использование GTK+ 3 и пр. может быть избыточно.
Вопрос: Какую программу/сервис использовать для создания презентаций?

Лучший ответ:
На фрилансерских биржах периодически вижу заказы, где требуется поменять что-нибудь (вроде номера телефона) в презентациях, сделанных на Канве. Она ведь выгружает результат ПДФами или вообще джипегами, верно?

Вместо PowerPoint я бы ушла в гугл-презентации. Хотя готовые шаблоны там очень лаконичные и шаблонные (тавтология)), но именно собирать все, поддерживать актуальность имхо удобно. У яндекса, вроде, тоже подобный сервис появился...

А Канва - для разовых презентаций, которые в будущем точно не понадобятся. Еще Crello есть, тоже похожая.

Худший ответ:
Могу еще посоветовать для простых презентаций использовать "Гугл Презентации", в принципе так главное достоинство это, что есть синхронизация с почтой gmail.
Вопрос: Как типизировать асинхронный конструктор, если он не возвращает экземпляр?

Лучший ответ:
Конструктор по определению не может быть асинхронным

Худший ответ:
Попробуй вместо "асинхронного конструктора" сделать асинхронный фабричный метод, который будет возвращать промис с полностью собранным объектом

class Something {
    constructor(private text: string){

    }
    
    public static async create(): Promise<Something>{
        const text = await Promise.resolve("txt");
        return new Something(text);
    }
}
Вопрос: Как правильно написать класс для обращения к API?

Лучший ответ:
 Нужно написать грамотный код для соблюдения чистоты.
Мантра, смысл которой вам, похоже, непонятен.
Грамотный код для API - это тот, которым удобно пользоваться и который несложно модифицировать при необходимости.
API - это архитектура "запрос-ответ". У вас есть определенные структуры данных, которые передаются в запросе, структуры данных, которые возвращаются в ответе, и логика получения вторых из первых.
Соответственно, если структуры данных достаточно сложны и имеют внутреннюю логику - стоит оформить их классами. Если логика достаточно сложна и слабо пересекается от запроса к запросу - можно создать классы-обработчики.
Но высасывать из пальца какую-то универсальную "чистоту", подходящую для любого API, что бы оно ни делало - просто бессмысленно.

Сравните, например, https://github.com/iamwildtuna/boxberry-sdk и https://github.com/dev-ik/ApiBoxberry

Худший ответ:
Возьмите любой апи класс от популярных вендоров (фб, вк и тд) и посмотрите как у них организовано разделение пакета на классы. Обычно там 3-4 класса, все достаточно аккуратно и логично.
Вопрос: На какой стадии изучения ЯП стоит искать ментора?

Лучший ответ:
Чем раньше, тем лучше. Но большинство своего первого ментора получают только после устройства на работу.

Худший ответ:
Как только накопите денег, чтобы оплачивать услуги репетитора по программированию.

А если серьёзно, то ментор - это обман покруче многочисленных курсов.
Вопрос: Как вызвать одну функцию из ассоциативного массива?

Лучший ответ:
Можно:
<?php
$commands = [
	'hi' => fn($name) => 'hi, ' . $name, 
	'hello' => fn($name) => 'hello , ' . $name,
	'etc' =>fn($name) => 'etc...',
];

echo $commands['hi']('John');

php code online

Худший ответ:
Не очень понятно, что надо автору, но в общем случае это делается без проблем
$commands = ['hi' => 'hi', 'hello' => 'hello', 'etc' => 'etc'];
$commands['hi']();
Другое дело что изначальная задача сильно пованивает говнокодом
Особенно учитывая тот факт, что автор, похоже, не догадался, что у него функции вызываются не "при обращение к ключу hi", а ещё при создании массива
Вопрос: Как из двух последовательностей получить одну в которой удовлетворяются некоторые условия?

Лучший ответ:
Это можно слелать через LINQ, но вложенные циклы для этой задачи будут нагляднее и проще.

Худший ответ:
Попробуйте использовать LINQ, он хорош для сортировки последовательностей по определенным критериям
Вопрос: Видно ли использование Vpn для установленной программы внутри виртуальной машины?

Лучший ответ:
Нет, достоверно определить нельзя, при условии что через VPN будет пущен весь трафик виртуальной машины.
Но если VPN-сервер размещён где-то на хостинге, то можно по пулу адресов сделать обоснованное предположение насчёт использования VPN. Грубо говоря: мой трафик идёт через Amazon, с чего бы это? Это VPN, наверное.
И ещё относительно легко обнаружить, что система запущена в виртуальной машине, если это имеет значение.

Худший ответ:
нет не будет
вирт машина видит просто подключенную сеть. можно не изолировать. в режимет сети NAT в конфиге виртуалки, хост просто используется для пересылки пакетов. Что у хоста там за подключение - виртуалка не знает и ией собственно пофиг
Вопрос: Где искать макеты сайтов?

Лучший ответ:
Вот у меня какие-то завалявшиеся ссылки, авось помогут:
https://www.canva.com/ru_ru/obuchenie/luchshie-saj... 100 лучших сайтов
https://www.awwwards.com/ награждают сайты, сайт дня.
https://flagstudio.ru/blog/gde-iskat-luchshie-sajty где искать лучшие сайты
https://figmaelements.com/ui-kits/food/ макеты

Худший ответ:
Абсолютно любой, я проосто смотрю код википедии и разных форумов/сетей, а ещё можно создать сайт на "wix" и просто просмотреть код
Вопрос: Куда вкатиться новичку (математику люблю, компьютеры — не особо)?

Лучший ответ:
Business intelligence. Экономическое образование в плюс пойдет.

Худший ответ:
Рассмотрите позицию «системный аналитик»
Вопрос: Как построить дальнейшее обучение c#?

Лучший ответ:
может на работу уже пойдешь, тем более так уверен в себе? Заодно узнаешь на собесах какие пробелы есть и что тебе нужно знать

Худший ответ:
Вот отличный курс.
Вопрос: Можно ли обойти CORS политику при отправке запроса на чужой домен?

Лучший ответ:
Можно. Для этого достаточно проксировать запрос через свой сервер, который добавит нужные заголовки и удалит не нужные. Также можно написать браузерное расширение, фоновый процесс расширений может делать запросы игнорируя CORS.

Худший ответ:
Можно. Для этого достаточно проксировать запрос через свой сервер, который добавит нужные заголовки и удалит не нужные. Также можно написать браузерное расширение, фоновый процесс расширений может делать запросы игнорируя CORS.
Вопрос: Где найти сенсея?

Лучший ответ:
Ни на каких. Незачем хорошо разбирающемуся в архитектуре бесплатно тратить своё время на того, кто даже не хочет становится программистом.

Худший ответ:
Считаю, вопрос составлен так, что ответом на него может быть фраза «везде, где не нужен платный доступ к перечню специалистов».

Про вознаграждение ни слова нет. Если предложите подходящему к вашим критериям Мастеру порядковый гонорар (т. е. в десятикратном размере), возможно, он рассмотрит вас в качестве подопечного.
Вопрос: Какие существуют онлайн-IDE для разработки на PHP, устанавливаемые на unix-сервер?

Лучший ответ:
Я одно время пробовал синхроинизроваться через git при смене машины (reset --hard при каждом пересаживании)

Честно говоря, IMHO вам следует научиться работать с git, потому что reset --hard при каждом пересаживании - это вы прямо вообще неправильно пользуетесь инструментом.
А так git это именно то, что надо для синхронизации.

Худший ответ:
1) https://lp.jetbrains.com/projector/ 

2) https://www.jetbrains.com/ru-ru/code-with-me/ 
ограничение 30 вин но можно переподключаься незнаю можно ли убрать лимит
Вопрос: Как ввести пароль дополнительным параметром к команде?

Лучший ответ:
 гуглите "sudo без пароля"

Худший ответ:
Это вам нужен не su, а sudo.
Вопрос: Что нужно знать? К чему надо быть готовым?

Лучший ответ:
Теперь просто старайтесь хорошо делать то, что скажет ментор.

Худший ответ:
испытательный срок ничего не значит кроме того что тебя могут уволить просто так в это время, то есть ты просто работаешь как обычно
коммуницировать с ментором можно ртом, ну или пальцами набивая текст.
поддержка и автоматизация
книги по gitlab ci, docker, php-fpm,nginx
Вопрос: Верхние вентиляторы в корпусе должны вдувать или выдувать воздух?

Лучший ответ:
Выдувать, на приток передние и нижние, задние на выдув

Худший ответ:
выдувать. но в большинстве они вообще ненужны
Вопрос: Symlink для Program Files и Program FIles (x86)?

Лучший ответ:
1 Перемещаешь Prоgram files на D:\
2 создаешь симлинк

все это из-под Windows PE

нельзя создавать симлинки, если каталог существует
переименовывай а потом создавай, с последующим сбросом содержимого бывшего program files на D:\нужный путь

все это делать до загрузки основной ОС

Худший ответ:
Чтоб создать symlink нужно сначала эту папку убрать. Ведь ты создаешь такое же расположение, которое уже существует.  
Создать в твоём случае симлинк нужно через другую ОСь, чтоб основная не была запущена, иначе папка будет занята.
Вопрос: Как исправить ошибку в программе?

Лучший ответ:
Приглашения к вводу данных не соответствуют заданию.
Не использованы средства шаблонизации, которые предоставляет язык рограммирования.
Оформление кода не соответствуют требованиям PEP8.
Не предусмотрено согласование количества дней и ночей с окончанием слов "ночей" и "дней" в шаблоне. При числах 1,2,3, 4,  21, 22 и т.д., окончания будут неверными.

Худший ответ:
В вашей программе ошибок нет
Вопрос: Как запустить одну программу автозагрузкой, несмотря с какой учетной записи зайдет пользователь в Windows 10?

Лучший ответ:
Запускать как службу

Худший ответ:
Варианты с невидимым запуском:
Служба или планировщик (с заданным паролем)

Варианты с видимым запуском:
Папка автозагрузки в меню пуск (их две, если для конкретного пользака и есть общая) 
или веточка в реестре 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Или планировщик (без введённого пароля, с указанием, что при входе)
Вопрос: Что будет если сменить имя юзера на windows 10?

Лучший ответ:
Создание нового пользователя не исправит путь к профилю. Изменение пути профиля вручную (включая через реестр) ни к чему хорошему не приведёт. Так что создай просто нового юзера и перенеси все что нужно.

Худший ответ:
создай лучше нового пользователя.
и перекинь все файлы в его раб.дир права сбрось
Вопрос: Подойдёт ли Python для астрологического веб-сервиса?

Лучший ответ:
А зачем парсить, если большую часть параметров можно рассчитать...
Берете библиотеки для расчета:
https://www.astropy.org/
pyephem
и прочие - и вперед...

Худший ответ:
А зачем парсить, если большую часть параметров можно рассчитать...
Берете библиотеки для расчета:
https://www.astropy.org/
pyephem
и прочие - и вперед...
Вопрос: Как пробросить 25-й порт используя SSH-туннель?

Лучший ответ:
Чтобы маршрутизировать порт 25 через SSH-туннель, нужно:

Запустить туннель с SOCKS-портом: ssh -D 12345 user@host;
Настроить соксификатор, например, redsocks или v2ray;
Настроить правила iptables/nftables для перенаправления исходящих TCP-запросов на порт 25 к порту соксификатора.


Гораздо проще, надёжнее и технически корректнее настроить маршрут через VPN, тем более, что WireGuard у вас уже есть:
sudo ip route add default dev wg0 table 100
sudo ip rule add ipproto tcp dport 25 table 100

Худший ответ:
Возможно, вам поможет Fast reverse proxy (frp): https://github.com/fatedier/frp
Вопрос: Чем While/Do while отличается от For?

Лучший ответ:
Разница только на уровне синтаксиса, просто for - частный случай while:
int counter = start;
while(condition(counter)) {
   //...
   after(&counter);
}
против
for(int counter = start; condition(counter); after(&counter)) {
  //...
}

Худший ответ:
Почти ничем, из while легко сделать for, а из for легко сделать while.
Просто для удобства сделали так, что while выполняется, пока истинно заданное условие, которое проверяется до или после выполнения одного цикла, а for выполняется определённое в счётчике количество раз.
Вопрос: Имеется один провайдер, требуется сохранить айпишник и ввести еще одного провайдера. Как это можно решить?

Лучший ответ:
Нужно купить сисадмина который решит что нужно купить и настроить

Худший ответ:
как можно решить данную задачу,
Настроить multi wan. Например Мультиван и маршрутизация на Mikrotik RouterOS
Вопрос: Будет ли работать модуль chan_sccp от астеристка 1.8 на астериске 18?

Лучший ответ:
Даже если и заведется, запредельно высок шанс проблем. Лучше пересобрать под конкретную версию Asterisk
https://github.com/chan-sccp/chan-sccp

Худший ответ:
пару циско-аппаратов, что с ними делать?

Перешить на SIP-протокол.
Вопрос: Как делегировать отдельные компоненты программы в ветки, где они используются?

Лучший ответ:
Как-то странно вы себе процесс выдумали. Обычно это выглядит так:

Нужна модалка
Ветвимся от мастера например в ветку feature/modal
Разрабатываем модалку
Тестируем
Если всё ок, то делаем merge request
Сливаем ветку в master

Бывают, конечно, долгоживущие ветки, но лично я стараюсь их избегать, чтобы не было проблем с актуализацией и конфликтами.

Худший ответ:
Можете попробоать Git - submodules
Вопрос: Можно ли домен, логин и т.п прописать в properties?

Лучший ответ:
хочу внести домен, логин и пароль в application.properties
можно, но не нужно
незачем такую информацию хранить в системе контроля версий (ты ж ее используешь, правда?)

Как можно внести properties за jar?
рядом с jar создаешь файл application.properties - данные из него перекроют те проперти, что прописаны в application.properties внутри jar

если приложение исполняется под каким-то другим профилем (dev, например), именуешь внешний проперти-файл соответственно (application-dev.properties).

должно работать

Худший ответ:
Не нужно этого делать. Пропиши у себя в Environments
типа
application-dev.yaml:
login: ${LOGIN}
password: ${PASSWORD}

А потом в Edit configurations... -> Environment Variables
добавляй свои спрятанные переменные. Спринг подтянет при запуске.
Вопрос: Где лучше обрабатывать ошибки в SPA?

Лучший ответ:
Везде

Худший ответ:
Валидация полей ввода должна выполнятся на фронте для лучшей интерактивности и во-избежание лишней нагрузки на сервер при обработке заведомо неверных данных, а так же на сервере для пресечения злоумышленников которые обходят проверку на фронте. 
Желательно чтобы правила были идентичны для фронта и бэка
Вопрос: Где брать фото под текстуры лиц персонажей?

Лучший ответ:
https://www.thispersondoesnotexist.com/ Глянь на этот сайт. Там генерируются лица несуществующих людей на планете. Просто обновите страничку для новых лиц.

Худший ответ:
А что тебе мешает сделать фото своего лица?
Вопрос: Возможно ли создать подобную игру на JS?

Лучший ответ:
Вы если почитаете внизу страницы тут то увидите, какие технологии использовал автор этой игры.
Там и реакт и другие плюшки из мира веб.

Худший ответ:
Вы если почитаете внизу страницы тут то увидите, какие технологии использовал автор этой игры.
Там и реакт и другие плюшки из мира веб.
Вопрос: Можно ли устроиться работать бесплатно, за опыт и портфолио?

Лучший ответ:
Устроиться "бесплатно" невозможно хотя бы потому. что новичок сам по себе статья расходов, плюс за него надо платить налоги и нести юридические риски, то есть работодателю придётся в вас вкладывать деньги, даже если не платить вам зарплату, что тоже противоречит ТК. Однако, есть очень маленькое количество компаний, которые занимаются своего рода благотворительностью и берут стажёров. Найдётся ли такая компания в вашем регионе и сможете ли вы быть лучшим из тех, кто претендует на работу в ней - это уже вопрос не к нам.

Худший ответ:
Мыши плакали, кололись, но продолжали жрать кактус. Всё кричит о том что нынче не нужны вы индустрии, зачем вы продолжаете расшибать башку об плотно закрытую дверь?
Вопрос: Как найти файлы измененные за последние час и добавить в архив?

Лучший ответ:
find /var/log -mmin -60
cmin - это change time (время изменения мета-информации в inode - типа owner/group/permissions)

Худший ответ:
find - опция -mtime кажется. Точнее можно узнать в вашем дистрибутиве и применяя ответ предыдущего оратора, плюс вывод find --help и искать там по опции mtime (Modification Time) (Опять таки это сработает, скорее всего, только если файловая система смонтирована без флага noatime)
Вопрос: Что лучше: map, Object или Array для хранения данных?

Лучший ответ:
1: Вася
2: Петя
3: Маша

Худший ответ:
Если у тебя набор однотипных данных, то скорее всего, тебе захочется хранить их в массиве. Просто потому что с массивом гораздо проще обращаться. Если ты хочешь получать элементы по ключу, то тебе сначала надо как-то этот ключ получить. А получить ты его можешь если будешь иметь доступ к искомому элементу. А если элемент уже имеется, то и искать его нет смысла. Далее ты передаешь его по ссылке и все.

Map, нужен только тогда, когда массив тебе не подходит, по каким-то объективным причинам, которые ты должен придумать себе сам. Например когда у тебя ключ - не строка, а другой объект. Иногда полезно.
Вопрос: Как построить график функции в c++?

Лучший ответ:
Делайте на Qt.

Худший ответ:
попробуйте взять SDL вместо SFML
Вопрос: Возможно установить Debian без монитора?

Лучший ответ:
вставьте диск в другой ПК, поставьте дебиан+ssh.  переставьте диск
IP дебиан после загрузке можете посмотреть в dhcp своего роутера

Худший ответ:
В DebianWiki есть инструкция
Вопрос: Как обновлять дату каждые n-дней, статический сайт?

Лучший ответ:
JavaScript-ом запрашивайте дату с любого публичного сервера, их дохрена. Далее эту дату тупо подставляйте куда надо. При этом вы избежите привязки к дате компьютера пользователя.

Худший ответ:
Кроме как через JS на сегодняшний момент опций соверменный веб не предоставляет (кроме совсем экзотичных вариантов вроде открытия айфрейма на сервис, который вычисляет необходимую дату).

Идея с массивом была мыслью в веронм направлении, но массив конечен. здесь нужно деление без остатка.

<span class="myDate"></span>


    <script>
const startDate = new Date('2021-08-06')  //устанавливаем дату начала интервала 
const now = new Date() //определяем текущую дату
const delta = Math.trunc((+now - +startDate) / 3 / 24 / 3600 / 1000); // вычисляем количество трёхдневных интервалов которые прошли с момента startDate

const resDate = startDate
resDate.setDate(resDate.getDate() + delta * 3) 
//итоговая дата -- это стартовая дата + количево вычислиных трёхдневных интервалов, вычисленных на предыдущем шаге, умноженые на 3

const dateTag = document.querySelector('.myDate') //находим тег, в котором должна оказаться новая дата
dateTag.textContent = resDate.toLocaleString('ru', {day : '2-digit', month : 'long'})
//устанавливаем дату в соответствии с форматом DD MMMM (можете подобрать любой другой) 
    </script>

теперь при каждом обновлении страницы дата в поле будет соответствовать требованиям
с точки зрения ux я бы порекомендовал прикрутить здесь ещё интервал, чтобы дата обновлялась сама по себе раз в 10 минут и без перезагрузки

<span class="myDate"></span>


    <script>

function updateDate(){
    const startDate = new Date('2021-08-06')
    const delta = Math.trunc((+new Date() - +startDate) / 3 / 24 / 3600 / 1000);
    startDate.setDate(startDate.getDate() + delta * 3)
    document.querySelector('.myDate').textContent = startDate.toLocaleString('ru', {day : '2-digit', month : 'long'})
}   

updateDate() //обновляем дату при загрузке станицы
setInterval(updateDate, 10 * 60 * 1000) //затем обновляем данные каждые 10 минут

    </script>
Вопрос: Как удалить из hashmap все элементы с одинаковым значением?

Лучший ответ:
Он итерируется. 
Методы .entrySet() .forEach((a, b) -> ...)

Худший ответ:
Создаёшь новый пустой HashMap newMap - это будет результат.
Создаёшь пустой Set newSet - через него  будем  фильтровать  значения.
Из заданного HashMap oldMap получаем все ключи из oldMap (key) как keySet - это набор всех ключей твоего oldMap.
Проходишь по oldMap с помощью keySet, извлекая поочерёдно значения (val) из oldMap.
  Каждое значение val проверяешь на наличие его в newSet.
  Если оно там присутствует, ты нашёл ключ к дублированному в oldMap  значению val и не сохраняешь его.
  Если val в newSet отсутствует, помещаешь его туда и копируешь пару key<->val из oldMap в newMap;

После конца алгоритма в newMap имеешь набор только уникальных значений.
Вопрос: Как запустить функцию?

Лучший ответ:
Вышлите СМС на номер +79281234567 с названием активируемой функции.
Что значит активировать? Выполнить? Ну так откройте учебник по Python, да прочитайте пару абзацев об использовании функций...
greeting('somename') в вашем случае.

Худший ответ:
def greeting():
	user_input = input('please, write your name: ')
	name = user_input
	print('Hey, ', name)
	return name
	
greeting()

либо так 

user_input = input('please, write your name: ')


def greeting(name):
	print('Hey, ', name)
	return name
	
greeting(user_input)
Вопрос: Как сделать приложение Windows Forms автономным в одном файле?

Лучший ответ:
Вот такая команда в результате соберёт всё в один файл. На hello world работает. Если в вашем проекте не работает - надо смотреть на код.
dotnet publish -r win-x64 --self-contained -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -o ./publish-path
https://docs.microsoft.com/en-us/dotnet/core/deplo...

Худший ответ:
Так избавься от файлов, в чем проблема? Выдели их и нажми правую кнопку мыши и там будет удалить.
Насчёт избавления от установки .net - максимум что ты может сделать это тихую установку. Советую прочитать основы языка, в шилдте это описано.
Этот вопрос звучит примерно : «хочу машину но что бы без колёс ехала»
Вопрос: Кросс платформенность или нативная разработка?

Лучший ответ:
Изучение чего бы то ни было в IT, кроме откровенно протухшего легаси и откровенно непопулярной маргинальщины, идет специалисту на пользу даже в том случае, если он не работает именно с тем, что изучал.
А вот болтание по Тостерам с вопросами "решите за меня, как мне учиться" - процесс с нулевым КПД.

Худший ответ:
Не совершать выбор - это тоже выбор, но тогда шансы найти работу будут даже ниже, чем тебе показалось с Flutter.

Так что я бы на твоём месте закрыл список вакансил и выбрал бы то, что просто больше нравится.

Если будет проблема с поиском работы - перекатишься сравнительно быстро, ибо тебе не придётся заново изучать логику работы IDE, не придётся заново изучать что такое "условие" и "цикл", не придётся заново изучать ООП и всякие паттерны, итп.
Вопрос: Я делаю http сервер с нуля как сделать приём файлов?

Лучший ответ:
Post запрос выглядит примерно так, где (data) это файл. Суть в том, что вы считываете значение boundary
и по этому значению ищете полезную нагрузку в которой и лежит файл. Затем парсите поля которые лежат внутри, если нужно конечно. А затем начинаете читать data и записывать файл до того момента пока не встретите закрывающую boundary.
POST / HTTP/1.1
Host: 127.0.0.1:80
Content-Length: 179
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

----WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="image"; filename="charlize.jpg"
Content-Type: image/jpeg

(data)
----WebKitFormBoundary7MA4YWxkTrZu0gW

Худший ответ:
string.GetBytes() но это не ваш файл. Он должен идти дальше и там Content-Length: 93611
Вопрос: Как сделать что бы выбор был не с 0 до 2, а с 1 до 3?

Лучший ответ:
row = int(input("Введите номер строки(1, 2, 3): ")) - 1
PS: Код - жесть...

Худший ответ:
вычитайте 1 из ввода
Вопрос: Смогу ли я заниматься 3D моделированием на слабом ноутбуке?

Лучший ответ:
На уровне графики 1995 года - да, сможешь

Худший ответ:
у меня с похожим железом даже универские задачи не тянулись, в превьюере уже все лагало 
наверное есть ниша где нужно лоу поли модели и самому сразу все оптимизировать в модели, но думаю это будет похоже больше на мучение