|
1 / 1 / 0
Регистрация: 27.02.2020
Сообщений: 101
|
|||||||||||
Изучаем Python по книге Лутца17.04.2020, 12:37. Показов 9882. Ответов 87
Метки нет (Все метки)
на 490 стр 5 того издания 1 части Лутца встречаются первые задания по практики...
1. Написание базовых циклов. В данном упражнении предлагается поэкспериментировать с циклами for. а) Напишите цикл for, который выводит код ASCII каждого символа в строке по имени S. Для преобразования символа в целочисленный код ASCII используйте встроенную функцию ord (символ). Формально функция ord в Python З.Х возвращает кодовую точку Unicode, но если вы ограничите содержимое строки символами ASCII, то будете получать обратно коды ASCIL (Опробуйте ее интерактивно, чтобы посмотреть, как она работает.)
здесь что то пошло не так..
1
|
|||||||||||
| 17.04.2020, 12:37 | |
|
Ответы с готовыми решениями:
87
Объясните текст из книги Лутца "Изучаем python" М. Лутц Изучаем Python. Том 1 Лутц Марк - Изучаем Python. 5 издание |
| 09.05.2020, 20:33 | |
|
coa3, У меня стоит Microsoft Visual Studio Community 2017. Visual Studio Code помоему из той же серии, хорошая IDE (среда разработки). Парень, который изучал питон, потом перешел к программированию на С#, при этом по рекомендации тех к кому устроился работать, он с Pycharm перешел на Visual Studio Code.
Добавлено через 1 час 10 минут coa3, И так, у тебя как я понял сложности с усвоением механизма рекурсии. Попробую помочь тебе объяснить механизм работы рекурсии, по крайней мере как я его понимаю. Для того, что бы разобраться с рекурсией, нужно усвоить ряд важных понятий. Начнем с понятия "пространство имен". Пространством имен является множество переменных (или как еще называет Лутц "пакет переменных"), отличие которых в том , что их значения можно не только читать (как у переменных из области видимости), но и изменять их значения (то есть они доступны не только для чтения, но и для записи). Пространство имен, привязано к конкретному месту (точке) в коде, то есть к конкретной строке кода. Это видно из того, что если мы встречаем в коде инструкцию присваивания, создающую новую переменную, например x = 5, то пространство имен до этой строки не будет содержать переменную x, а после этой строки уже будет содержать переменную x. Причем заметим, переменные в пространстве имен для каждой строки (точки) кода будут иметь вполне конкретные значения. Такое пространство имен с их значениями в данной точке кода Лутц называет "сохраненное состояние". Это понятие очень важно в механизме рекурсии. Еще одно важное понятие для рекурсии, это "стек". Что такое стек и как он работает. Стек, это такая последовательность элементов, для которой применимы два метода: 1) добавить элемент в стек, 2) взять элемент из стека. И работает такое правило, "Элемент пришедший в стек последним, берется из стека первым". Так вот, в случае рекурсии, при каждом вызове функции запоминается состояние функции (сохраненное состояние) для данного места и данного момента времени вызова функции (для данного шага рекурсии), и это сохраненное состояние помещается в стек рекурсии. Потом, когда мы будем получать значения возвращаемые функцией, соответствующей данному шагу рекурсии, автоматически из стека будет возвращаться сохраненное состояние для данного места кода для данного шага рекурсии, так что бы номер шага обратного хода рекурсии соответствовал номеру шага прямого хода рекурсии. Это обеспечивает правильную работу функции на каждом шаге рекурсии. Не знаю понял ли ты. Может найдешь где то более понятное объяснение рекурсии. Я в 5-ом издании Лутца про рекурсию еще не читал. Может у него объяснено более понятно. Но думаю мое разъяснение лишним не будет. ![]() Добавлено через 2 часа 15 минут coa3, Я думаю, что ты получил общее представление о рекурсии. А более глубокое изучение можно отложить на потом, если возникнет необходимость решить задачу с использованием рекурсии. А пока, если закопаешься с примерами, которые дает Лутц и которые достаточно сложные, то оставь их и переходи к изучению следующего раздела "Объекты функций: атрибуты и аннотации" на стр. 580.
1
|
|
|
291 / 131 / 58
Регистрация: 24.11.2019
Сообщений: 532
|
|
| 09.05.2020, 20:40 | |
|
Viktorrus, VSC the best
0
|
|
|
1 / 1 / 0
Регистрация: 27.02.2020
Сообщений: 101
|
||
| 09.05.2020, 21:05 [ТС] | ||
|
0
|
||
| 09.05.2020, 23:37 | |
|
coa3, Для расслабления мозгов, как закончишь эту часть займемся решением задач на питоне. А вообще то нужно чередовать занятия. Устал от программирование, погуляй или поиграй во что нибудь или фильмы посмотри. xtml это язык разметки для создания статических сайтов. Для наполнения сайтов скриптами, необходимо программировать на одном из языков программирования для web. У Лутца в книге "Программирование на Python." Том 2 (4-е издание, 2011) целая часть на 600 страниц посвящена web программированию. Но если ты собираешься в будущем заняться web програьмированием, то можно пока познакомится с языком xtml.
0
|
|
|
1 / 1 / 0
Регистрация: 27.02.2020
Сообщений: 101
|
||
| 10.05.2020, 20:28 [ТС] | ||
|
к стати а html и css полезны для питона или для них нужен больше js? а для питона только свой фреймворк?
0
|
||
| 11.05.2020, 02:31 | ||
|
0
|
||
|
1 / 1 / 0
Регистрация: 27.02.2020
Сообщений: 101
|
|
| 11.05.2020, 15:06 [ТС] | |
|
0
|
|
| 11.05.2020, 15:26 | ||
|
Но если уж совсем не в моготу, то можем заняться решением задач, но может придется по ходу обращаться к таким темам, как lambda функция или map, которые в конце этой главы. Добавлено через 7 минут coa3, Когда перейдем к решению задач, то будем это делать по следующей схеме. Я буду выбирать на форуме подходящую задачу, копировать сюда, и давать тебе всю необходимую информацию для решения, алгоритм, используемые инструкции с их синтаксисом. Ты будешь писать код. Потом усложним. Я буду давать только инструкции с их синтаксисом, а алгоритм уже будешь составлять сам. Ну и потом, я только буду подбирать задание, а решать его ты будешь сам. И во всех этих случаях будем делать подробный разбор решения.
1
|
||
|
1 / 1 / 0
Регистрация: 27.02.2020
Сообщений: 101
|
|
| 15.05.2020, 17:22 [ТС] | |
|
0
|
|
| 16.05.2020, 01:43 | ||||||
|
coa3, Реши задачу
Перевернуть tuple Добавлено через 2 минуты Решение выложи здесь и мы его разберем Добавлено через 43 минуты Сначала нужно составить алгоритм. Я обычно делаю так. Беру простой пример и решаю его на бумаге. Затем пишу код и в пошаговом режиме проверяю его. Из условия сразу ясно, что здесь задача разбивается на два варианта, когда количество элементов четное и когда не четное. Это значит должно быть ветвление с помощью оператора if на два решения. if четное: ... else: ... Возьмем простой пример: (1, 2, 3, 4, 5, 6) - четное количество элементов Что бы поменять местами первую и вторую половины, нужно выделить их используя срезы и получить t1 = (1, 2, 3) t2 = (4, 5, 6) и сделать конкатенацию t3 = t2 + t1 Нужно продумать, как получить эти срезы для четного количества элементов и для нечетного. Я разобрался написав код (сначала для четного случая) и пробуя разное написание срезов и выполняя код отладчиком используя точки останова и анализируя получаемые значения среза. Для нечетного случая (1, 2, 3, 4, 5), который будет помещен в блок else будет немного посложнее. Но поэкспериментировав можно подобрать нужные срезы и в этом случае. Только предварительно нужно найти смещение центрального элемента. Добавлено через 8 минут И не забывай, что счет смещения в последовательности начинается с нуля "0". Синтаксис среза
X[I:J] означает: «извлечь из X все, начиная со смещения I и до смещения J, но не включая его». Возвращает новый объект, например для списка возвращает новый список. X[I:J:K] означает: «Извлечь все элементы последовательности X, начиная со смещения I, вплоть до смещения J-1, с шагом K». Добавлено через 3 минуты Решил скопировать задание сюда, что бы постоянно не мотаться по ссылке. **************************************** **************************************** **** На одной строке вам даны числа. Сохраните данные числа в tuple. Затем, разделив tuple на два, переставьте местами первую и вторую половину местами. Если количество чисел в tuple нечетное, первая половина должна содержать количество чисел на одно больше, чем вторая половина. Вводные данные: вам даны числа написанные на одной строке. Исходные данные: выведите ответ на задачу. вод: 4 8 5 9 1 3 8 8 7 3 7 2 3 7 8 5 Вывод: 7 3 7 2 3 7 8 5 4 8 5 9 1 3 8 8 Пример 2 Ввод: 3 4 10 2 4 9 4 1 2 7 4 10 Вывод: 4 1 2 7 4 10 3 4 10 2 4 9 Пример 3 Ввод: 3 3 9 4 6 8 9 6 6 1 4 7 5 Вывод: 6 6 1 4 7 5 3 3 9 4 6 8 9 **************************************** **************************************** **** Добавлено через 12 минут Если срез начинается с нуля, то есть от начала [0:J] , то 0 опускается и записывается [:J]. Если срез от I до конца, то пишут [I:] . Добавлено через 1 час 6 минут coa3, Кстати, если ты в будущем займешься web-программированием, то здесь на форуме выложили ссылки на сайт, с видео уроками. Среди которых есть и по программированию на питоне и по "Созданию веб сайтов на Python". Сохрани ссылки на будущее. Видео курс по программированию для начинающих https://www.youtube.com/channe... OPuM7keDDw https://www.youtube.com/watch?... e=youtu.be
1
|
||||||
| 16.05.2020, 12:19 | |
|
coa3, При написании программы используй справочник по питону и пользуйся отладчиком. У меня из-за возраста память уже плохая, и я не могу писать программы без справочника по питону и без отладчика. А тебе нужно пользоваться ими, так как у тебя еще не достаточно знаний и практики. К тому же, когда будешь создавать сложные программы, там без отладчика вообще не обойтись, так что набирайся опыта в его использовании.
1
|
|
|
1 / 1 / 0
Регистрация: 27.02.2020
Сообщений: 101
|
|||||||
| 17.05.2020, 22:21 [ТС] | |||||||
0
|
|||||||
|
5184 / 1074 / 150
Регистрация: 29.01.2013
Сообщений: 6,263
|
|
| 17.05.2020, 22:24 | |
|
coa3, это плохая практика. Приучайте себя сразу делать правильно. А то начнёте отлаживать что-то строк на 300 кода - поседеете.
0
|
|
|
1 / 1 / 0
Регистрация: 27.02.2020
Сообщений: 101
|
||
| 17.05.2020, 23:18 [ТС] | ||
|
вместо первой строки можно вставить:
tuple = list(map(int, input().split())) Добавлено через 1 минуту
0
|
||
| 18.05.2020, 02:49 | ||||||||||||||||||||||||||||
|
coa3, У тебя ошибка. Твой код выводит
Подумай как исправить. Добавлено через 1 час 0 минут coa3, Второй блок в инструкции if должен отличаться от первого. Иначе какой смысл в ветвлении? И такое замечание, хотя на результат это не повлияет. В условии предлагается сохранить числа в tuple, то есть в кортеже, а не в списке, как делаешь ты. Хотя результат на выходе будет один и тот же. И еще, tuple, это ключевое слово питона. Своим переменным не рекомендуется давать имена ключевых слов, это может приводить к ошибкам. Можно переменную назвать, например my_tuple. И преобразовать вводимую последовательность чисел в кортеж.
Добавлено через 22 минуты Поскольку программка маленькая, можно переменную с кортежем назвать коротким именем, например t. Для коротких программ так нагляднее. Для больших программ лучше давать имена более емкие, несущие смысл того, что в них содержится. Вот как оформлен код у меня, я даю только с первым блоком в if. Во втором блоке, для нечетной длины кортежа, ошибку постарайся исправить сам.
coa3, Так что, я буду пока продолжать подбирать для тебя задачи, что бы тебе отдохнуть от теории и попрактиковаться в написании кода? Добавлено через 6 минут **************************************** ********
0
|
||||||||||||||||||||||||||||
|
1 / 1 / 0
Регистрация: 27.02.2020
Сообщений: 101
|
|||||||||
| 18.05.2020, 21:59 [ТС] | |||||||||
|
Добавлено через 2 минуты первая половина должна содержать количество чисел на одно больше вторая на одно значит меньше раз сошлось, то и остановился на этом Добавлено через 12 минут в вашем варианте же первая половина (5, 6, 7) содержит на одну цифру меньше, а по условию наоборот должно быть больше..? Добавлено через 4 минуты
правильно?
0
|
|||||||||
| 18.05.2020, 23:03 | ||||||||
|
coa3, Много написал и сбросилось. Сайт вечером не стабильно работает. Повторю сокращенно.
Это срез (1, 2, 3, 4). И он на выходе перемещается в конец, 5, 6, 7, 1, 2, 3, 4 . Теперь выводит
1
|
||||||||
|
1 / 1 / 0
Регистрация: 27.02.2020
Сообщений: 101
|
|
| 18.05.2020, 23:53 [ТС] | |
|
как то на таком задании подвис..((
Системный администратор вспомнил, что давно не делал архива пользовательских файлов. Однако, объем диска, куда он может поместить архив, может быть меньше чем суммарный объем архивируемых файлов. Известно, какой объем занимают файлы каждого пользователя. Напишите программу, которая по заданной информации о пользователях и свободному объему на архивном диске определит максимальное число пользователей, чьи данные можно поместить в архив. Формат ввода Программа получает на вход в одной строке число S – размер свободного места на диске (натуральное, не превышает 10000), и число N – количество пользователей (натуральное, не превышает 100), после этого идет N чисел - объем данных каждого пользователя (натуральное, не превышает 1000), записанных каждое в отдельной строке. Формат вывода Выведите наибольшее количество пользователей, чьи данные могут быть помешены в архив. Тест 1 Входные данные: 100 2 200 50
0
|
|
| 18.05.2020, 23:53 | ||||||
|
Определить каких чисел среди введенных больше: отрицательных или положительных.
**************************************** **************************************** Последовательно вводятся N чисел. Определить каких чисел среди них больше: отрицательных или положительных. Решить в Python с помощью циклов. **************************************** **************************************** Задачу можно решить двумя способами. 1) Алгоритм первого варианта. Осуществляется ввод и преобразование в числа с помощью float(), Так как в условии не говорится, что это целые числа, значит могут быть и дробные. Получаем последовательность чисел. Делаем сортировку sort(), все отрицательные разместятся спереди. Циклом for, где переменной цикла будет смещение (индекс) числа в списке, находим индекс i первого положительного числа в последовательности. Количество индексов перед i будет количество отрицательных чисел. Так как индексы начинаются с нуля, то количество индексов (а значит и отрицательных чисел) перед i будет равно i. Проверил на бумаге. Ну а количество положительных чисел будет общее количество чисел в списке минус количество отрицательных. И сравниваем каких больше. 2) Алгоритм второго варианта. Это после получения списка и уже не сортируя, просто, предварительно создав счетчики положительных и отрицательных чисел, пробежаться циклом for по списку считая счетчиками сколько каких чисел. И затем сравнить каких больше. Для первого варианта понадобится функция sort(). Ее синтаксис:
Порядок сортировки тебе указывать тоже не нужно, по умолчанию сортировать будет от меньшего к большему. Постарайся решить сам, не смотри решения которые будут предлагать по ссылке. Выложишь здесь решение, разберем его. Потом посмотришь по ссылке какие еще предложили решения.
0
|
||||||
|
1 / 1 / 0
Регистрация: 27.02.2020
Сообщений: 101
|
||||||
| 19.05.2020, 13:43 [ТС] | ||||||
Добавлено через 1 минуту к стати, что из теории дальше неспешно читать?
0
|
||||||
| 19.05.2020, 13:43 | |
|
Не работает код Эрик Матиз - Изучаем Python, упражнение 19.1
Исходники к книге Дэвида Гриффитса - Изучаем программирование на с
Проект на PyGame из книги «Изучаем Python. Программирование игр, визуализация данных, веб-приложения», Мэтиза Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|