|
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
|
|
Ищу доброго самаритянина по питону16.01.2019, 16:27. Показов 45315. Ответов 508
Метки нет (Все метки)
Всех приветствую, немного о себе, 27 лет, женат, работаю системным админом в крупной компании. Всегда хотел программировать, но по стечению обстоятельств не сложилось, то работа не позволяла, не было времени, то бытовуха итд. Но вот решил что во что бы то не стало я овладею данной профессией. Начал свой путь программирования с питона. Сейчас читаю книги, прохожу на сайтах различные обучающие уроки итд, на ютюбе нашел не плохой канал где разжевывают все хорошо и вроде потихоньку получается писать (можно было бы идти на курсы, но не позволяет работа, питон питоном, а семью кормить надо, вроде и на работе время есть изучать, но вот уходить на курсы с работы итд, это не варик). Буквально вчера закончил разбираться и написал уже самостоятельно игру камень, ножницы, бумага, где играешь против компа. Ищу человека который просто направлял бы меня в нужное русло, подкидывал материал для изучения, который потом мне пригодится итп, который помог бы в трудностях. Просто учить все подряд без какого либо плана дает итог каши в голове. Если найдется тут такой человек, буду искренне благодарен ему!
0
|
|
| 16.01.2019, 16:27 | |
|
Ответы с готовыми решениями:
508
В зависимости от ведённого времени получите сообщение с пожеланием доброго утра, доброго дня, доброго вечера, спокойный В зависимости от введенного значения времени желает доброго утра, доброго дня, доброго вечера, доброй ночи. Ищу доброго человечка, который поможет |
|
0 / 0 / 0
Регистрация: 05.02.2019
Сообщений: 7
|
|
| 19.02.2019, 20:00 | |
|
Есть такой сайт: https://informatics.mccme.ru/
1. По порядку решаем задачи из: Кружки и уроки — Городские кружки Хамовники — Основы программирования на Python не включая Теоретический материал по двумерным массивам 2. Списки (одномерные массивы): Авторские курсы — Д.П.Кириенко — Списки 3. Двумерные массивы(матрицы): Теория: Теоретический материал по двумерным массивам из Хамовников(маршруты на плоскости не смотрим). Задачи: Д.П.Кириенко (просто задачи, не на генераторы) Пока хватит
0
|
|
| 20.02.2019, 02:35 | ||||||||||||||||
|
Lucky64, Интересно, а сколько тебе на все это понадобилось времени?
Добавлено через 23 минуты Lucky64, Вот задача. Все отрицательные элементы массива списка перенести в его начало, а все остальные – в конец Прочитай ее там, и не перенося сюда придумай алгоритм, и напиши алгоритм здесь. Потом по алгоритму напиши код. Добавлено через 1 минуту Обсудим алгоритм здесь а потом код, потом посмотришь там как решили другие. Вначале чужие решения не смотри, попытайся сам. Добавлено через 27 минут Для примера можно взять список
Добавлено через 2 часа 44 минуты Еще одна задача, более сложная: Создать новый массив, исключив из переданного массива совпадающие столбцы А здесь информация о двумерных массивах: http://labs.org.ru/python-8/ оттуда можно использовать функцию для печати матрицы.
0
|
||||||||||||||||
|
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
|
|||||||||||||||||||
| 20.02.2019, 09:41 [ТС] | |||||||||||||||||||
|
Добавлено через 52 минуты
и естественно если оно меньше нуля, как это указать в елсе?... Придумал только вот такой вариант:
Добавлено через 1 час 16 минут Viktorrus, В общем Виктор ничего лучше кроме как:
![]() ![]() ![]() В голове просто ад сейчас(( Добавлено через 2 минуты Viktorrus, алгоритм должен быть такой по моему мнению: Берем первый элемент, сравниваем его с нулем, если он меньше нуля, то оставляем без изменений, если больше или равен нулю, ставим его в конец списка...
0
|
|||||||||||||||||||
|
151 / 86 / 35
Регистрация: 05.08.2017
Сообщений: 257
|
|
| 20.02.2019, 09:47 | |
|
Lucky64, попробуй такую связку: цикл while, метод списка append(element)-добавляет элемент в конец, метод списка pop(index)-удаляет элемент по индексу
1
|
|
| 20.02.2019, 14:04 | |||||||
|
Lucky64, Во-первых, в условии говорится, "Дополнительный список или массив не заводить."
Но срез всегда создает новый список, даже если он из одного элемента. Значит срез использовать нельзя. Подумаем, какой здесь может быть алгоритм. Если мы будем двигать по кругу положительные числа добавляя их в конец, то отрицательные окажутся слева, а положительные справа. Причем порядок их следования не поменяется. Resistanse, Тебе это и предлагает. Перебираешь в цикле все элементы и если положительный, то добавляешь его в конец, одновременно удаляя с того места где он стоял. Resistanse, Предлогает для этого цикл while и методы append и pop. Я тоже использовал перемещение положительный чисел в конец, но в цикле for с методом append и инструкцией del. Выбери как тебе удобнее и напиши код. Синтаксис команд смотри в справочнике. Добавлено через 15 минут Практикуясь на задачах, ты будешь проходить 3 этапа. 1. На первом этапе, делая задачи, ты постепенно запомнишь, что может делать питон (тебе это поможет составлять алгоритм). Тогда, полазив по Лутцу, как справочнику, ты будешь находить нужные команды. 2. На втором этапе, делая задачи, ты уже будешь помнить названия команд, и что они делают. Тогда, зная имя команды, ты сможешь быстро находить ее в справочнике (ссылку на который я давал) и смотреть ее синтаксис. 3. На третьем этапе профессиональном, делая задачи, ты уже будешь помнить имя команды, ее синтаксис и что она делает. Здесь уже ничего дополнительно не понадобиться, будешь просто писать код. Добавлено через 14 минут Кстати , я нахожусь в промежутке между 1-ым и 2-ым этапом (команды помню не все). Но благодаря своей базе данных (БД), которую веду параллельно изучению, я, когда пишу код, фактически как бы нахожусь на этапе 2. Я быстро нахожу нужную мне команду с ее синтаксисом, даже не помня имя команды. Мне достаточно знать, что команда должна делать, и я поиском по ключевому слову нахожу в БД нужную мне команду. Собственно в том числе и для создания БД я повторно вернулся к изучению книги Лутц М. Изучаем Python (4-е издание, 2011). Добавлено через 15 секунд Кстати , я нахожусь в промежутке между 1-ым и 2-ым этапом (команды помню не все). Но благодаря своей базе данных (БД), которую веду параллельно изучению, я, когда пишу код, фактически как бы нахожусь на этапе 2. Я быстро нахожу нужную мне команду с ее синтаксисом, даже не помня имя команды. Мне достаточно знать, что команда должна делать, и я поиском по ключевому слову нахожу в БД нужную мне команду. Собственно в том числе и для создания БД я повторно вернулся к изучению книги Лутц М. Изучаем Python (4-е издание, 2011). Добавлено через 1 минуту Ну все, опять начало тормозить и дуплетить. ![]() Добавлено через 2 часа 40 минут Во второй задаче условии допускает, что может быть несколько одинаковых столбцов. Поэтому лучше использовать для примера матрицу предусматривающию различные варианты:
1
|
|||||||
|
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
|
||||||
| 20.02.2019, 14:30 [ТС] | ||||||
|
Viktorrus, Мне бы с первой разобраться
![]() в общем вот к чему я пришел за весь свой выходной день:
Добавлено через 5 минут Resistanse, что скажете?
0
|
||||||
|
151 / 86 / 35
Регистрация: 05.08.2017
Сообщений: 257
|
|
| 20.02.2019, 14:43 | |
|
Lucky64, твоя ошибка в том, что ты пытаешься подогнать код к конкретной задаче. Еще ошибка что ты на 15 строке приводишь список к списку
Вот алгоритм: определяем длину списка, создаем 2 переменные, одна будет отвечать за индекс текущего элемента вторая за количество произведенных итераций(вторую будем сравнивать с длиной списка), далее проверяем текущий элемент и если он положительный, то удаляем его и вставляем в конец, если он отрицательный, то переменную, которая хранит индекс текущего элемента увеличиваем на 1, а так же увеличиваем количество итераций И еще такое замечание - лучше давать переменным более осмысленные имена на английском
0
|
|
| 20.02.2019, 15:55 | |
|
Resistanse, В общем он уже потрудился и попробовал написать код. Теперь можно дать ему правильный код и объяснить его работу. Скопируешь и объяснишь ему свой код?
Или если тебе некогда, я попробую объяснить твой код. Ты ведь выложил его в теме. Ты объяснишь свой код, потом я объясню свой. Добавлено через 8 минут Lucky64, Вторая задача что то у меня слишком сложно получается, код громоздкий, и пока еще его не отладил, еще не все работает как надо. Конечно сам попробуешь, но боюсь мой вариант нужно будет просто тебе показать и объяснить. Может кто то предложит более простой вариант, чем у меня. Там наверное можно проще, если использовать специальный модуль для работы с матрицами.
0
|
|
|
151 / 86 / 35
Регистрация: 05.08.2017
Сообщений: 257
|
||||||
| 20.02.2019, 15:55 | ||||||
|
Lucky64, можешь еще посмотреть тему, там еще много решений. Это, кстати, не самое лучшее(по скорости), но я думаю наглядное
0
|
||||||
|
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
|
|
| 20.02.2019, 16:45 [ТС] | |
|
мда
0
|
|
|
151 / 86 / 35
Регистрация: 05.08.2017
Сообщений: 257
|
|||||||
| 20.02.2019, 16:46 | |||||||
0
|
|||||||
|
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
|
||||||
| 20.02.2019, 16:54 [ТС] | ||||||
|
Resistanse, Да он у меня с ошибкой запускался, пришлось удалять коммент и исправлять отступы...
увидел ваш вариант и понял где ошибся...
0
|
||||||
| 20.02.2019, 16:54 | |
|
Lucky64, Все, сделал вторую задачу, но алгоритм получился сумасшедший. Только благодаря пошаговому отладчику смог его отладить. Когда закончим с первой задачей, я наверное просто выложу код для второй задачи и его обсудим. Может кто то предложит более простой.
0
|
|
|
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
|
|||
| 20.02.2019, 16:59 [ТС] | |||
|
Да пайчарм, но он ничего не подсвечивал... Добавлено через 1 минуту Добавлено через 2 минуты Resistanse, к стати по вашей ссылке перекидывает на не найденную страницу
0
|
|||
| 20.02.2019, 17:04 | ||||||
|
Lucky64, Как я понял, Вы закончили первую задачу. Вторую задачу посмотришь, может что то придумаешь. Потом я выложу своего крокодила. Наверное уж завтра.
А пока выложу мой вариант первой задачи, для ознакомления, что можно и так решить.
В общем до завтра, завтра займемся второй задачей.
0
|
||||||
|
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
|
|||
| 20.02.2019, 17:08 [ТС] | |||
![]() Resistanse, и вам огромное спасибо за помощь!!
0
|
|||
| 21.02.2019, 02:45 | ||||||
|
Lucky64, Пока не перешли ко второй задаче, поясню свой код к первой задаче. Там есть тонкость. А заодно поговорим о том как работает цикл for.
По этой причине переменная цикла может или не доходить до конца итерируемого объекта или выходить за пределы диапазона итерируемого объекта. А к тому же, если это последовательность, то меняются смещения элементов последовательности в ходе итераций. Что касается диапазона цикла, у цикла while такой проблемы нет, так как он при каждом шаге вновь пересчитывает условие для входа в итерацию. В данной задаче вопрос диапазона не возникает, так как размер последовательности не изменяется , а изменяются только смещения элементов в последовательности следующих за переносимым числом. Для того, что бы решить эту проблему, я и использую переменную к, что бы корректировать смещения после каждого переноса положительного числа. Почему я не использую в данном случае цикл while? Просто я фанат цикла for , да и работает он быстрее, чем цикл while, который на каждом шаге перепроверяет условие.Lucky64, теперь заодно напомню, особенность работы цикла for. Инструкция for осуществляет проход по элементам итерируемого объекта (или итератора), на каждом проходе осуществляя операцию извлечения элемента из итерируемого объекта по индексу, который функция for автоматически подставляет начиная с 0 до N -1 (N количество элементов в итерируемом объекте). Когда доходит до последнего элемента, то на следующем проходе, не получая элемента, возвращается сообщение об ошибке и функция for выходит из цикла, переходя к следующей инструкции в программе, следующей за циклом for. Часть, идущая после in, будучи вычисленной единожды, должна предоставить объект, поддерживающий итерирование. Для данного объекта создаётся итератор. Далее переменной, предшествующей in, поочерёдно присваиваются значения [элементов], предоставляемые итератором и для каждого из них выполняется тело инструкции. Для лучшего понимания инструкции for дополню. Инструкция for при работе использует протокол итераций, зашитый внутри цикла for. По этому протоколу: 1. Если цикл for используется для итерируемого объекта X, то сначала из него создается итератор (с помощью встроенной функции iter(X) ). 2. Затем инструкция for при каждом проходе цикла использует метод итератора __next__, получая последовательно по одному объекту от итератора. 3. Если объект, к которому применяется цикл for, уже является итератором (например, объект файл), и потому уже имеет метод __next__, то шаг 1 протокола пропускается. (Обращаю внимание. Если итерируемый объект не является итератором, то не нужно использовать функцию iter(), так как цикл for сам преобразует итерируемый объект в итератор). Циклы for и другие итерационные механизмы в языке Python используют такой итерационный протокол, если он поддерживается, для обхода последовательностей или значений генераторов. Если протокол не поддерживается, инструкция for терпит неудачу и возвращается к операции индексирования последовательности. Внимание Если тело цикла несложное, то накладные расходы на поддержание цикла интерпретатором могут оказаться существенными. В подобных случаях рекомендуется использовать генератор, составление списка, либо функцию map(). else Когда элементы исчерпаны (например, исчерпана последовательность, либо итератор возбудил исключение StopIteration ) выполняется часть инструкции, идущая после else (если эта часть присутствует) и цикл завершается. break Инструкция break позволяет прервать цикл. При этом часть после else не будет выполнена. continue Инструкция continue позволяет «проскочить» исполнение следующего после неё кода и продолжить проход по следующим элементам. На заметку Переменной, предшествующей in, на каждом из этапов цикла присваивается новое значение. Это означает, что любые назначения данной переменной, будь то произведённые до начала цикла или внутри него, будут потеряны в ходе последующего витка. По завершению цикла переменная, предшествующая in, остаётся доступной с последним значением. Однако, если последовательность пуста, то переменная не будет инициализирована вовсе, а значит попытка обратиться к ней возбудит исключение NameError. Внимание Изменение последовательности в ходе итерирования может приводить к ошибкам и пропускам элементов. (Именно поэтому, если есть такая возможность, в этом случае необходимо корректировать смещение элементов, и в случае необходимости перезапустить цикл for, для этого помещая его внутрь цикла while.
0
|
||||||
| 21.02.2019, 15:22 | |||||||||||
|
Lucky64, Возможно я зря дал вторую задачу, она оказалась достаточно сложной, чего я сразу не понял.
В описании цикла for говорится, что если в ходе итераций происходит изменение объекта, по которому производится итерация, то возникают сложности. Изменение итерируемого объекта в ходе итераций происходит и в первой задаче, поэтому я там ввел корректирующую переменную k. Но там нет вложенных циклов. Во второй же задаче проблему изменения итерируемого объекта усложняет наличие вложенных циклов. И так я выкладываю решение второй задачи (довольно громоздкое) и мы его обсудим. Может кто то предложет более простое решение. Но в теме пока никто не предложил решения, кроме одного, которое делает совсем не то, что нужно.
Добавлено через 18 минут Lucky64, Ты спрашивай, что не понятно. Здесь обсудим. А код, я наверное все таки выложу в тему, может там кто то даст более простое решение.
0
|
|||||||||||
|
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
|
||||||
| 21.02.2019, 15:30 | ||||||
|
"Изподвыподверта"
0
|
||||||
| 21.02.2019, 15:55 | |
|
Lucky64, Вот для тебя еще одна задача, не сложная.
Строка: Найти первое вхождение подстрок ‘not’ и ‘bad’ Рыжий Лис использовал для ее решения регулярные выражения, а ты реши ее базовыми методами. Регулярные выражения достаточно сложный язык в языке. Когда нибудь его изучишь, изучив основы питона. Используй тот же метод str.find(). А дальше как сам придумаешь. Добавлено через 52 секунды ioprst, Спасибо за более простое решение. Добавлено через 11 минут ioprst, Хорошее решение, то есть столбцы не удаляете, а создаете новый массив добавляя в него только не повторяющиеся столбцы. На вскидку, глубоко не вникая, я так понял алгоритм кода. Может ошибся.
0
|
|
| 21.02.2019, 15:55 | |
|
Помогаю со студенческими работами здесь
320
Ищу доброго человека, который прособеседует по java Кр по питону ?
Задание по питону Питону не понравилось Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|