Программирование в Питоне
Ребенку задала табличку с привязанными к ней формулами спрограммировать, ребенок дома говорит, что ничего вообще не понимает, хочу попробовать помочь, хотя бы морально. Где можно посмотреть, как это таблички рисовать. В VBA есть опция userform, там сначала рисуешь нужную табличку, а потом уже каждое окно задаешь и fормулы для кнопок, а в Python где ? Посмотрев несколько тьюториолов я ничего подобного не увидела., буду дальше искать, но может кто подсказать сможет?
Не надо задавать ребенку подобных задач. Потому как программирование интерфейсов - дело неблагодарное и сложное. Ребенку надо давать программировать решения алгоритмических задач типа "ханойской башни" и т.п. А табличка с формулами - это _крайне_ плохая идея для начального курса.
ЗЫ. Ёксель таки-искалечил умы целых поколений. Люди уже не понимают, как можно без "табличек" и "формул".
Как уже заметили, подобные задачки явно не для ребенка. Я бы спросил, чтобы ему было интересно? Весьма возможно что какие то игры будут гораздо интересней.
Мне вот как-то был нужен партнер для "быков и коров".
"Чистый" питон пожалуй и не нужен.
https://habrahabr.ru/post/273003/
Это не я задала табличку, а его учительница в гимназии. Я сообщение подтерла и не заметила, что нужное стерла. Ав школе не спрашивают детей что им задавать, а просто задают и все. Он сам как то чего го по минимуму сделал и сдал, мне не пришлось вникать. Спасибо за участие
Вообще то конкретный язык программирования особой роли не играет. (хотя есть и исключения)
Важно понять основные принципы программирования и знать базовые алгоритмы.
Попробуйте поиграть с ним в такую игру - мама что то готовить, а ребенок должен написать алгоритм приготовления пищи. (на обычном языке общения)
Причем мама может затем всё делать по листочку очень тупо, как робот, точно как написано.
Получите и циклы и ветвления и условия и пр.
Это ребенок _гимназиального_ возраста, сюсюкаться с ним уже поздно - основы построения алгоритмов он уже должен знать. Но тогда вопросы к учителю: зачем грузить учеников разработкой интерфейсов? Впрочем, это вопрос риторический. Хороших учителей информатики очень мало.
В начале учебы, чтобы заинтересовать интерфейсы несложные попрограммировать полезно. Для "вау"-эффекта. Вроде - "смотри как клево, я прям как эксель написал, сюда ввел, кнопку нажал и оно считает!".
Ханойские башни (только алгоритм) программировать - типично немецкая "фильтрация". Из 20 детей это заинтересует одного. Остальные забьют. Знакомый мой залип на программировании от попытки написать собственный архиватор. Начал с Хаффмана и понеслась. Но он такой один из всех моих знакомых программистов.
тоже думаю, что наглядность самое интересное для детей, но в питоне, как я посмотрела, проектировать userfrom как в VBA нельзя, a надо экспортировать все поля и размеры задавать,
мне было бы сложно.
И mне кроме как с VBA сравнивать не с чем, я больше ничего с табличками не знаю
При хорошем учителе заинтересует намного больший процент - из личного опыта учебы. Но где его взять, этого хорошего учителя? А человека, начавшего с программирования интерфейсов, потом будет сложно переориентировать на оптимизацию алгоритмов и решение сложных алгоритмических задач, ИМХО.
Ладно, это все ворчание. Педагогика - не мой конек, пусть дети хоть чему-то учатся полезному...
Честно говоря задание не самое тривиальное, как для уровня гимназии/школы. Хотя конечно я не знаю его уровня подготовки.
В принципе Вы правильно ищете, но кроме Tkinker, который в видео, которое Вы нашли, посмотрите еще в сторону wxPython и PySide. Последний мне понравился больше, и понятностью и широтой возможностей, и тем, что фактически является оберткой вокруг Qt, опыт работы с которым пригодится не только для Python.
Хотя бесспорным плюсом Tkinter для начинающего, является то, что он идет в стандартной библиотеке и не нуждается в сторонних пакетах.
А вообще GUI на питоне довольно нечастое явление в разработке, так что все равно это задача из серии сделать, поиграться и забыть ))
PyGTK http://www.pygtk.org/
можно прописывать все руками, а если хочется быстро, то можно использовать Glade
http://www.pygtk.org/articles/pygtk-glade-gui/Creating_a_G...
а в каких случаях это нечастое явление происходит и почему?
ваше высказывание находится в противоречии со следующим сайтом:
https://wiki.python.org/moin/GuiProgramming
нафига бы такую массу фреймуорков для того, что есть нечастое явление? что-то тут не то.
кстати, какими из них вам приходилось пользоваться и для каких целей?
а в каких случаях это нечастое явление происходит и почему?
ваше высказывание находится в противоречии со следующим сайтом:
https://wiki.python.org/moin/GuiProgramming
нафига бы такую массу фреймуорков для того, что есть нечастое явление? что-то тут не то. кстати, какими из них вам приходилось пользоваться и для каких целей?
Это лишь мое мнение, основанное на 6 годах работы на Python. Но мне кажется, что такое обилие GUI фреймворков появляется в языке как раз тогда, когда ни один не может предложить той простоты и универсальности, которая способна сделать это направление в языке популярным или как минимум конкуретным другим платформам в области десктопных приложений (той же Java на *nix или .NET на Windows). Сделать такое на том же C# - задача если не тривиальная, то по крайней мере очень комфортная для программиста, а вот с desktop app на Python, если речь о чем-то посложнее калькулятора или мессенджера (привет HipChat) - то вы намучаетесь. И специалистов на maintaince будете потом искать и найдете где-то в Индии ))
Я не говорю, что "это явление" не происходит вовсе, но доля Python-проектов для настольных приложений, среди всех остальных нарпавлений в рамках этого языка - очень мала. Python сейчас это гораздо чаще различные энтерпрайзные web API REST/JSON-RPC и всяческие deep learning/machine learning/data science/math statistics, плюс просто сайтики, коих немеряно и для тех кто в курсе - на Python они делаются гораздо лучше, быстрее и качественнее, чем, например, на PHP.
В общем, каждый инструмент хорош под свою задачу.
Если конкрентно о моем опыте, то я работал с PySide, один проект был связан с системой синхронизации sql/nosql данных между удаленными нодами серверов и второй с мониторингом состояния FreeBSD/Debian серверов приложений. И то выбор пал на Python только потому что, нужно было обязательно кроссплатформенное решение (Windows + Ubuntu), и нужно было относительно быстро, и учить Java с ее экосистемой времени не было, а основной язык у меня был Python.
Ну и пару раз использовал Tkinter, в процессе обучения питону начинающих, не более.
а какой у вас тулчейн при работе с пайтоном? у меня установлен PyCharm, python plugin в eclipse, но пользуюсь пока vi, т.к. не знаю "мнение народа", и с vi в этом случае безопаснее.
В качестве IDE использую PyCharm, т.к. проекты сейчас в основном большие и во-первых важен комфортный дебаггер (как локальный, так и удаленный), во-вторых очень удобное управление virtualenv и соответственно разными версиями зависимостей конкретного проекта, плюс удобная навигация и поиск по коду, возможности автоматического рефакторинга по проекту, куча плагинов, облегчающих жизнь (например для bash, для Docker, для git, для ini-файлов). Очень упрощает жизнь и ускоряет работу.