Уведомления

Группа в Telegram: @pythonsu

#1 Июль 9, 2020 02:00:27

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9827
Репутация: +  852  -
Профиль   Отправить e-mail  

Подсчет количества нулей в массиве_что не так

Python_newbie13
Вот есть Java. Учиться с 0 на ней - это ад. Тебя в начале учат, что такое класс, метод, конструктор, модификаторы доступа. Затем наследование, абстрактные классы и интерфейсы ну а потом уже алгоритмизации как таковой. Так вот понять новичку всю эту карусель невозможно(Может я тупой). Но из-за этого писать говнокод на Java сложнее.
Проблема начала обучения программированию вообще, используя для этого инструмент Java, заключается в том, что с Java ты не будешь знать половины вещей, которые нужно знать программисту, так как в Java они скрыты для удобства профессиональных разработчиков. Избыточность кода на Java при записи простых программ можно преодолеть, составив один раз шаблон проекта и каждый раз его использовав по новой, просто копируя код. Проблема, как видишь, не в этом. Проблема в том, что ты ничего не будешь узнавать о работе на низком уровне. Это примерно как блондинка ездит на мерседесе очень долго и успешно, из-за этого ошибочно считает себя хорошим водителем и автолюбителем, а потом у неё выходит из строя свеча под капотом. Вместо того чтобы заменить свечу самостоятельно (будь она настоящим автолюбителем), она едет в автосервис, где ей втюхивают перебор всего двигателя за крупную сумму. Она думает, что очень развитая, но на деле даже с мелочью справиться не может.
Начиная учёбу по всему программированию, используя как инструмент для этого язык Java, ты в конечном итоге потратишь время и не будешь знать ни программирование, ни Java. Ты будешь знать только, что ты начал как-то неправильно. Время прошло, а ни одной программы ты не можешь написать.

Python_newbie13
Просто очень многие вузы, как наши так и зарубежные ставят Питон во главе языков с которых проще начать программировать.
Вузы заменяют Pascal на Python. Просто на Паскале уже нельзя ничего написать современное, поэтому учащиеся просто теряют интерес к обучению. В то же время Питон хорошо вставляется на многие устройства и учащийся на питоне может запрограммировать себе бота для игры, в которую он там играет с фанатизмом, или запрограммировать игрушку на ардуино. То есть он может полученные навыки закреплять с интересом для себя и получать дополнительную мотивацию для дальнейшего становления программистом. Раньше можно было на Паскале это делать, так как тогда была DOS, для которой можно было что-то написать - повторить какую-то игру, вывести какую-то графику, произвести на кого-то впечатление. Тогда было очень много программ от студентов. Они с любовью писали эту всю графику по точкам, где тебя программа с красивыми картинками в консоли учила набирать текст на клавиатуре. Это важный аспект обучения. Очень сложно изучать то, что неинтересно и неприменимо. Поэтому студенты с удовольствием и изучали Паскаль, и писали на Паскале, а потом и работать шли тоже на Паскале. Питон выглядит как игрушка, но в то же время это не игрушка, а профессиональный инструмент, который даёт возможность и учиться на нём, и работать на нём в плане реализации карьеры в жизни. Поэтому он хорошо подходит для обучения и как инструмент, и как мотиватор. И даже то, что в Питоне не задаются типы переменных явным образом (а про это нужно знать как про явление), роли не играет, потому что преподать типы переменных с помощью Питона можно.

Python_newbie13
Моя цель минимум - это просто научиться писать сложные алгоритмы. Как пример я сейчас пытаюсь осилить алгоритм который сокращает выражение с переменными т.е пользователь вводит (x+5)*(x-y) и получает
x^2 +5x -x*y - 10.
Думаю, ты слишком сложную задачу взял. Ты её не потянешь просто, так как для этого нужно знать первое, второе, пятое и десятое. А ты не знаешь ни одного из этих необходимых и тебе ещё наивно кажется, что это простенькая задачка.

Python_newbie13
Получается так себе(уже неделю страдаю, но реализовано только умножение и сложение и частично степени,если они целочисленные)
Думаю, ты ошибочно полагаешь, что у тебя получается.

Неделю ты потратил уже. Результат нулевой. Единственный плюс - ты перешёл с этапа неосознанной некомпетентности на этап осознанной некомпетентности.

Обучение идёт такими циклами по четыре шага:
1. Неосознанная некомпетентность.
2. Осознанная некомпетентность.
3. Осознанная компетентность.
4. Неосознанная компетентность.

То есть ты думал, что решишь эту задачу, а теперь понимаешь постепенно, что ты не можешь её решить. Теперь, на втором этапе, тебе предстоит собрать информацию о том, как решить эту задачу. Потом ты будешь её решать с помощью собранной информации и решишь её в итоге еле-еле. Так ты перейдёшь на третий этап и будешь уже там тренироваться решать такие задачи, но уже они будут решаться в итоге все. И потом тебе постепенно начнёт казаться, что ничего сложного в них не было изначально и ты просто от природы умеешь их решать. Это четвёртый этап. На четвёртом этапе ты будешь просто видеть при поступлении новой задачи всё её решение от начала до конца. А когда ты будешь это всё делать руками, оно просто сразу будет получаться идеально и всё будет работать. Результат прохождения четвёртого этапа будет выглядеть так: поступила задача; ты, не думая особо ни о чём, начинаешь её реализовывать как набросок; в результате она полностью написана и работает идеально. При вопросе “а как я это сделал?” ты будешь получать ответ “да само собой как-то получилось”. Это как знаешь “почему у тебя получается читать текст на экране?”, ты подумаешь и скажешь “да он как-то сам читается, я не знаю, как я это делаю, я не задумываюсь даже об этом”. Вот это называется неосознанная компетентность. И получена она когда-то давно в школе точно так же через все эти четыре этапа.

И так предстоит пройти по каждой теме во всём программировании. Поэтому учатся этому - программированию и всему, что с ним связано, - много лет, потому что там и тем дофига, и проходить их очень долго нужно; и очень часто это ещё и сложно, и ещё бывает, что информации не хватает (то есть ты не можешь перейти со второго уровня на третий).


tags: learning general



Отредактировано py.user.next (Июль 9, 2020 02:20:23)

Офлайн

#2 Июль 9, 2020 05:37:01

Python_newbie13
Зарегистрирован: 2020-06-27
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

Подсчет количества нулей в массиве_что не так

Я бы не сказал, что результат нулевой и я потратил время впустую. Я сразу знал, что это задача сложна, потому что человек у которого я раз в месяц беру урок поставил ей 2 звездочки.(Супер сложно)
За эту неделю, пытаясь ее решить я много нового узнал и попробовал. Про 4 шага согласен полностью.

Офлайн

#3 Июль 9, 2020 07:55:42

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9827
Репутация: +  852  -
Профиль   Отправить e-mail  

Подсчет количества нулей в массиве_что не так

Python_newbie13
Я бы не сказал, что результат нулевой
Ты не сделал программу. Это нулевой результат. Можешь какие угодно сказки придумывать для самоуспокоения, как ты там научился чему-то новому и вот как ты сейчас сможешь, только вот надо больше времени и прочие вещи. Но в реальном мире, во-первых, нет учебных задачек никаких, а всё очень серьёзно и никто за тебя сопли не будет подтирать (не можешь сделать - твои проблемы; никакой добрый дяденька, который умеет, не будет к тебе прибегать и помогать радостно), а во-вторых, написание сложной программы, как правило, является процессом изготовления ма-а-аленького винтика во всей программе, которая делает хотя бы что-то ощутимое, которую можно продуктом назвать. И когда у тебя винтика в программе не хватает, потому что ты его сделать не смог, ты им пренебрегаешь, и вся программа со всеми шестерёнками в ней начинает держаться на соплях. И так ты становишься программистом, который что-то пишет и много рекламирует себя, но код которого что-то как-то странновато работает. Ну, и потом мы твоего кода не увидим, потому что при его публикации будет видно, что там винтов не хватает. Будем слышать только сказки.



Офлайн

#4 Июль 9, 2020 10:20:59

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Подсчет количества нулей в массиве_что не так

Python_newbie13
ВУЗ в который я поступил ну и большинство в моей стране тоже( я из Беларуси).
Вот я прям сейчас на сайте БГУ нашел ссылку на сайт Факультета Прикладной Математики и Информатики. На сайте есть программы обучения для всех ступеней. Смотрим страницу Программирование. № УД-5433/уч. из цикла общенаучных и общепрофессиональных дисциплин для первого курса. Качаем документ. Читаем

гиям.
Основные задачи, решаемые при изучении дисциплины «Программирование»:
 изучение языков программирования C++, C# и Java;
 изучение современных технологий разработки программ, в частности,
объектно-ориентированной и событийно-управляемой;
 изучение архитектуры компьютера и машинно-ориентированных языков.
В результате изучения учебной дисциплины студент должен
знать:
─ основные понятия и принципы обработки информации, основы компьютерной обработки информации;
─ принципы проектирования алгоритмов и их реализации;
─ основные методы и средства эффективной разработки программного
обеспечения;
─ методы тестирования, отладки и верификации программ;
4
─ структуру компьютера и архитектуру микропроцессора;
─ особенности применения платформенно-независимых языков;
─ области применения и практическое использование декларативных
языков;
уметь:
─ проектировать эффективные алгоритмы решения поставленной задачи;
─ выбирать наиболее подходящие структуры данных, программные и
технические средства реализации алгоритма;
─ разрабатывать программные приложения с заданной функциональностью и операционным окружением;
владеть:
─ основными методами алгоритмизации практических задач;
─ навыками разработки и сопровождения программ в конкретных средах
разработки.

Ни слова про питон.

Давайте вы мне дадите ссылки, подтверждающие ваши слова “большинство в моей стране тоже( я из Беларуси). В России наверное МФТи может еще”.



Отредактировано FishHook (Июль 9, 2020 10:22:34)

Офлайн

#5 Июль 9, 2020 10:33:31

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Подсчет количества нулей в массиве_что не так

Python_newbie13
Для меня первый изучить алгоритмизацию в совершенстве.
Если вы хотите научиться готовить, то вам надо научиться разделывать свиную тушу, варить из неё бульон, и руками месить тесто. Работая поваром в кафе у Ашота вы не будете так сложно заморачиваться, вы возьмете бульонный кубик, макароны Макфа и какой-нибудь кетчуп, результат получится точно такой же. Питон не даст вам возможности по честному реализовать половину алгоритмов, потому что в него встроен целый ряд механизмов упрощающих жизнь программиста. Он потому, блин, и простой.



Офлайн

#6 Июль 17, 2020 18:42:10

sepomd
Зарегистрирован: 2013-12-09
Сообщения: 16
Репутация: +  0  -
Профиль   Отправить e-mail  

Подсчет количества нулей в массиве_что не так

Не знаю если актуально ещё но! Вот вариант решения:

 a = []
cnt = 0
j = 0
while j <= 9:
    digit = int(input('Enter a digit from 0 to 9: '))
    a.append(digit)
    j += 1
for i in a:
    if i == 0:
        cnt += 1
    else:
        pass
print(a)
print(cnt)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version