How much wood would a woodchuck chuck if a woodchuck could chuck wood :)
Самый лучший способ выучить питон за месяц это....? У меня через месяц экзамен, но дела мои с ним идут плохо (( Я в принципе понимаю что стоит в учебнике, но когда дело доходит до лабораторных работ - там у меня ничего не получается (не могу сама додуматься что нужно написать, чтобы заработало). Что еще можо сделать в моем случае? Под "выучить" имеется ввиду знание основных комманд, функций, написание простеньких "программ" (которые чего-то простенькое могут высчитывать, например).
www.codecademy.com/ru/tracks/python
Если вас не пугает английский. Там вам сразу и практика будет: мне кажется, вам именно что практики не хватает.)
Забейте пока на лабораторные. Напишите для начала хелловорлд. Потом сосчитайте, сколько будет дважды два. Потом выведите таблицу умножения, и так далее, по нарастающей.
Вам не нужно зазубривать и теоретически понимать, "что стоит в учебнике". Нужно пользоваться сначала простейшими конструкциями, потом, как они будут отточены до автоматизма - чуть более сложными, и т.д.
Выучите прежде всего правила объявления переменных, операции ввода-вывода, арифметические операции, циклы. Попользуйтесь этим, потом двигайтесь дальше.
Самое главное, вам не нужно "додумываться, что нужно написать".
Перед тем, как браться писать программу, составьте и продумайте алгоритм - последовательность элементарных простейших операций, на которые разбивается задача при решении её человеком на бумаге. Имея алгоритм (например, в виде блок-схемы), вы автоматически поймёте, какие из уже известных Вам конструкций Питона потребуются для его реализации и в каком порядке. Что-то мне подсказывает, что самая главная проблема у вас - именно с алгоритмизацией, а не с Питоном как таковым. Однако месяц - срок изрядный, если постараетесь, успеете.
Самый лучший способ выучить новый язык (или средство) - начать активно активно им пользоваться. Т. е. придумываете себе задачу по разработке какой-нибудь программулины, и начинаете её писать. Пусть криво, путь постоянно спотыкаясь, но двигаться к реализации. И, самое главное, довести реализацию до конца. Когда закончите, должно возникнуть ощущение, что "всё это надо было делать иначе!". Если оно возникло - значит опыт приобретён, и можно браться за лабы.
ps: nio, кому хоть когда-нибудь помогли блок-схемы? Максимум – майндмапы, да и то если в процессе лапша. Для самого начала рекомендую "пошаговый дебаг".
Предполагается, что можешь помочь человеку. Если не можешь - дело гиблое и бесполезное, бросай это и иди пить чай.
кому первому пришло в голову из программирования - одного из удовольствий в жизни современного человека - делать обязаловку?
Bunny Hop, пока всё выглядит так, что вы пошли на программиста не совсем понимая, зачем именно вам это нужно. И не в смысле что "потому что хочу учиться в том университете". Как только у вас появится это понимание, вы поймёте, какие именно программы хотите писать - у вас появится мотивация изучать языки. Пока понимания не будет - будут такие вопросы.
вместо юзер-френдли гуя у них в используемом ими софте текстовое окошко для ввода питоновского кода?
))
nio, Я всегда все примеры из книг пишу и проверяю на практике. С простейшими (хотя что подразумевается под "простейшими"?) конструкциями у меня вроде проблем нет. Они начинаются когда дается определенное задание (и код уже состоит из нескольких задач). Вот я даже конкретный пример приведу: задание было написать код, чтобы высчитывать эээ... не знаю как это на русском. В общем, Newton-Raphson's methоd, с вот этой вот формулой
читать дальше
И код вот такой написать надо было
вот такой
Я кучу времени просидела, но так ничего и не придумала, но как только мне показали этот код - все стало понятно. И так со всеми заданиями. То-есть, кажется что между тем что я умею, и такими заданиями есть еще чего-то, чего я пропустила ( хотя ведь вроде усердно "забавляюсь" со всеми примерами которые вижу).
Flex Ferrum, я помню, вы уже говорили, но я совершенно не понимаю как можно писать программу, когда не можешь даже простенькую лабу написать!
.umi, Зачем же бросать?
CD_Eater, Неее.... ваш пример не правильный. В моем случае это "съесть торт за минуту". То-есть, он вкусный и его хочется, но времени мало.
Flex Ferrum, А причем тут мотивация? Мне нравится это учить, но я не знаю чего именно учить, чтобы через месяц экзамен сдать. То-есть, основная проблема - это время.
Скептичный циник, Нет, я учусь на факультете компьютерной инженерии и не жалею что выбрала это образование. Мне нравятся предметы и мне интересно их учить, проблема в том, что у меня не получается пока-что (питон).
Присоединяюсь к предыдущим ораторам. Простое чтение учебника почти ничего не дает. ну да читается, да понимаешь код, а потом белый лист.. "... и че?". Но надо все-таки разделить вопросы. Вопрос что писать - это вопрос составления программ, на этом уровне (основных конструкций, функций, типов) он примерно одинаков на большинстве языков программирования... берем задачу, раскладываем на шаги, шаги на операции. А потом вспоминаем на каком нам надо языке и переводим. Тут возникает второй вопрос "а как перевести?" Но ответы на него кроются в гугле, когда примерно знаешь какую операцию тебе надо совершить и ищешь ответ как сделать это на нужном языке или в нужной среде.
Сначала, конечно, выходит каша.. но основы зато запоминаются.
Скептичный циник,
оффтоп. Ну мне помогают блок-схемы... и на крайняк моделирование процессов. А майндмапы достигли моего мозга сравнительно недавно и в работе до сих пор не прижились вот и пока приносят больше лапши, чем пользы. Возможно вопрос "кого как учили".
Вы прям идеально мою проблему сформулировали! ))
я страдала этим когда-то. Пока не началось "много практики" ). Удачи.
Если дедлайн поджимает, то могу предложить два алгоритма обучения:
1. Можно сначала описать программу императивно ("псевдокодом" или просто по-русски), то бишь, построить алгоритм. А затем уже этот алгоритм постепенно переписывать в код. Тогда будут вопросы не "Как написать программу?", а конкретные вроде "Как написать посчитать фибоначчи?", которые намного легче нагуглить.
2. Попробуй взять тот же метод Ньютона и посчитать пошагово(!) вручную. А затем по шагам писать программу так, чтобы промежуточные результаты программы совпадали с расчитанным ранее результатом.
Drakosha, асболютно согласен. Чем больше практики, тем лучше получается. А насчёт блок-схем.. и часто они нужны для фибоначчи, озвученного выше метода Ньютона или для написания игры hangman? (:
Спасибо за ссылку.
О, а эти методы мне как-раз на днях показывали парни со старших курсов! Действительно очень помогает! То-есть, я сама еще ими как следует не пользовалась (когда начинаю писать лабу - у меня нaчинается паника и я пишу какую-то фигню "на угад", отчаянно надеясь что сработает), но когда мне кто-то другой этим способом расписывает - тогда я даже сама могу код под это написать!
Впрочем, какие мои годы, это может быть просто этап развития, и через тройку лет я соглашусь, не знаю. Но я склонна по природе все сваливать в кучу и путаться в трех соснах, поэтому мне помогает расписать с помощью блок схемы логику работы какого-то куска, чтобы ничего не забыть когда начну кодировать.
ЗЫ. Подумав. Хотя помнится я и фибоначчи в студенчестве писала блок-схемами. Мне это помогает начать думать. )
Для начала очень удобный и очевидный инструмент. После многих строк практики, когда это будет использоваться уже редко, то можно перейти на использование дебаггера чтобы не трогать код на каждый чих.
ps: Попробуйте освоить nosetest или хотя бы doctest. Если сходу не получится – неважно, просто отложите на потом. Очень полезный инструмент, когда кода больше, чем одна-две функции.
Drakosha, на вкус и цвет (: Если конкретно вам помогают блок-схемы, то это хорошо. <Субъективное_ИМХО>На лично моём опыте, не видел ни одного программиста, рисующего блок-схемы. UML или mindmaps – да, много и часто. А блок-схемы – нет. Просто потому, что проще написать if..else, чем нарисовать ромбик или for/while, чем стрелочку вверх.</Субъективное_ИМХО>
Эммм... Фишка в том, что в первую очередь должна быть идея. Ну, грубо говоря, хотя бы так: "Хочу написать программу, которая складывает два числа, введённых с клавиатуры". Т. е. сначала - постановка задачи, потом - реализация. Без постановки задачи, её понимания не будет понимания того, а зачем нужно всё остальное.
В мире и так полно людей, которые занимаются тем, что не умеют и не любят. Даже в этом треде. Если хотите учить язык - учите, ищите мотивацию. Не хотите - не мучайтесь, не ваше это. Дозубрите до нужной кондиции и забудьте. Спрашивать советов в стиле "помогите мне захотеть" не помогло ещё никому.
Тогда вам действительно лучше оставить пока Питон, на недельку - видно, что не в языке дело, с С/С++ или даже с Basic было бы тоже самое. Плотно займитесь алгоритмизацией.