|
1 / 1 / 0
Регистрация: 27.02.2020
Сообщений: 101
|
|||||||||||
Изучаем Python по книге Лутца17.04.2020, 12:37. Показов 9359. Ответов 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 издание |
|
|
|||||||||||
| 17.04.2020, 12:51 | |||||||||||
Сообщение было отмечено Рыжий Лис как решение
Решение
2
|
|||||||||||
|
2 / 2 / 0
Регистрация: 17.04.2020
Сообщений: 15
|
||||||
| 17.04.2020, 12:56 | ||||||
|
переменная v не является типом integer, а значит сумма не возможна
Пробуй так:
1
|
||||||
|
|
|
| 17.04.2020, 13:29 | |
|
0
|
|
|
5517 / 2870 / 571
Регистрация: 07.11.2019
Сообщений: 4,761
|
||||||
| 17.04.2020, 15:35 | ||||||
|
Avazart, если уж без for, то можно и так:
1
|
||||||
|
|
|||||||||||
| 17.04.2020, 23:05 | |||||||||||
|
Или даже так (лямбда не нужна раз у нас один аргумент)
2
|
|||||||||||
| 18.04.2020, 14:39 | |
|
coa3, Тебе дали различные варианты правильного решения. Но ты понял почему у тебя не правильно?
У тебя та же ошибка, когда ты пытался печатать v за пределами цикла не собрав все вычисленные в цикле значения v. В результате получал в ответе только одно значение кода последней буквы. На каждом шаге цикла переменная v у тебя имеет значение кода только одной буквы, текущей для данного шага цикла. Для того, что бы получить сумму кодов всех символов из строки, тебе нужно или собрать все эти коды в список и потом просуммировать элементы списка или прибавлять каждый вновь получаемый код к значению некоторой заранее созданной (перед циклом) переменной. Тебе были показаны и тот и другой варианты. Разбираться ли в более компактных но и в более сложных вариантах, это решай сам. Ведь ты пока пропустил главы "строки" и "списки" (к которым вернешься после изучения функций) , поэтому не думаю, что ты поймешь компактные решения. Я так же не знаю, изучал ли ты уже функцию lambda. Поэтому тебе пока достаточно понять варианты, которые тебе первоначально предложил Avazart, Добавлено через 7 минут coa3, По поводу главы "Аргументы". Очень важная глава для понимания работы с функциями. И важная для того, что бы был понятен синтаксис функций. В этой главе, есть сложные для понимания моменты, с которыми я не сразу разобрался. Поэтому все, что тебе не понятно, спрашивай. В главе "Аргументы" есть тонкости, которые, если ты их не поймешь, то возможно пока можно будет их и пропустить, но прежде спрашивай, важно ли понять их уже сейчас. А то может получится что ты без этих моментов не сможешь изучать материал дальше, так как они используются постоянно, а не в исключительных случаях. Добавлено через 20 минут coa3, Извини, я перепутал. Стр 526 это глава "Области видимости". Тоже важная глава. У некоторых с областями видимости путаница. Что не понятно, спрашивай. Добавлено через 1 час 12 минут coa3, Пробежался бегло по главе "Области видимости", там есть от чего "крыше поехать". Не старайся усвоить все, что дается в этой главе. Достаточно понять главное.В 4-ом издании по моему понятнее изложено. Итак главное. Области видимости для конкретного места (точки) в программе, это области: 1) Область внутри функции (содержащей данную точку программы) и созданные внутри функции переменные. 2) Область внутри объемлющей функции (функция вызвавшая данную функцию которую мы в текущий момент рассматриваем) и созданные внутри объемлющей функции переменные. 3) Область внутри модуля и созданные внутри модуля (на верхнем уровне) переменные (не входящие в локальные области расположенные внутри функций данного модуля). 4) Область переменных встроенная в питон (встроенные переменные существующие в самом интерпретаторе, вне пользовательского кода) Итак внутри функции мы видим переменные из всех этих областей и можем читать (не писать) их значения по следующему правилу. Мы ищем переменную с данным именем по порядку просматривая области начиная с первой из списка выше и до последней. Но считываем значение из первой попавшейся переменной из этих областей видимости. После этого поиск переменной прекращается и переменные с таким именем в области выше уже не рассматриваются. Существует правило LEGB порядка поиска имен в областях видимости: L - локальная E - объемлющая G - глобальная B - встроенная Но это правило только для чтения значений переменных. Для возможности записи нужно разбираться с пространством имен. Это рассмотрим позже.
3
|
|
|
1 / 1 / 0
Регистрация: 27.02.2020
Сообщений: 101
|
||
| 20.04.2020, 21:18 [ТС] | ||
|
начиная со страницы 526, начинаются просто вообще непонятные заморочки...
0
|
||
|
|
||
| 20.04.2020, 21:28 | ||
|
Хотя, понимать ее, конечно, стоит. В Python она используется в основном для обхода структур типа деревьев, графов, ну или просто неглубоко вложенных списков. Неглубоко потому что в Python есть ограничения на глубину рекурсии, лимит этот можно увеличить, но только за счет использования доп. памяти, которую будет жрать программа.
1
|
||
| 20.04.2020, 23:24 | ||
|
Поэтому знать, как работать с рекурсией, нужно. Смысл у рекурсии простой, это когда функция в своем теле вызывает саму себя и происходит зацикливание. Умение писать рекурсию заключается в умении писать выход из рекурсии в нужный момент, что бы она не превращалась в бесконечный цикл. Какой то схемы выхода я сейчас назвать не могу, нужно смотреть на примерах. То есть в какой то момент, по условию, она должна прекратить вызывать себя. Если ты дошел до темы рекурсии, напиши на какой странице и выложи здесь какой пример из учебника тебе не понятен. Добавлено через 26 минут coa3, Можно еще объяснить рекурсию так. Разберем, как работает логика выполнения питоном кода. Идет чтение команд по строчкам, начиная сначала кода и по порядку. Если встречается строка , где определяется функция def func(arg, ...): то питон создает объект этой функции и размещает этот объект в памяти, затем создает переменную func, являющуюся названием этой функции, и размещает в ней указатель на созданный в памяти объект-функцию. Затем питон читает по порядку следующие за телом функции команды и выполняет их. Если попадается команда, которая вызывает функцию то питон переходит на строку, где шапка функции и по очереди выполняет команды из тела функции. Если в теле функции питон попадает на команду, которая вызывает саму эту функцию, то он возвращается на начало функции. Таким образом получается петля, и она работает до тех пор, пока мы по какому то условию уже не попадем в теле функции на строку, вызывающую саму эту функцию. Вот как то так. Выложи не понятный тебе пример и мы по шагам разберем его работу.
1
|
||
| 24.04.2020, 01:25 | |
|
coa3, Я пролистал главу "Области видимости" 5-го издания, и убедился, что Лутц еще в большей степени, чем в 4-ом издании позиционирует книгу как подробный справочник. В изложении конкретного материала он говорит с позиции использования всего объема знаний по данному вопросу, включая материал, который только еще будет изучаться в дальнейшем. Это оправдано для справочника, которым пользуется человек, который уже прошел весь курс обучения, и ему нужно освежить в памяти какую то конкретную тему. Но начинающего это вводит в ступор, так как он сталкивается с понятиями, которые он только будет изучать в будущем, и на данном этапе они для него не понятны.
Поэтому советую, встречаясь с упоминанием понятий, которые ты еще не изучал, этот материал пропускать и двигаться дальше. И главное не отчаиваться, понимая, что ты пока не все, что дается в данной главе можешь усвоить. Я выше написал, что главное нужно понять в теме об областях видимости, это правило LEGB. Кроме этого еще постарайся понять, что такое глобальные переменные и переменные nonlocal. А остальное, что не поймешь, можешь пока пропустить, особенно то, что связано с классами. И переходи к главе "Аргументы".
1
|
|
|
1 / 1 / 0
Регистрация: 27.02.2020
Сообщений: 101
|
|
| 25.04.2020, 23:19 [ТС] | |
|
0
|
|
| 26.04.2020, 12:15 | ||
![]() Переходи к изучению главы "Аргументы". Там среди нужного есть и сложное.
0
|
||
|
1 / 1 / 0
Регистрация: 27.02.2020
Сообщений: 101
|
||
| 27.04.2020, 15:26 [ТС] | ||
|
»> X = ’ Spam ’ »> def func () : X = ’N1’ def nested () : print(X) nested () »> func() »> X ответ: В данном случае выводится снова ’N1 ’ в одной строке и ' Spam’ в другой, потому что оператор print во вложенной функции находит имя в локальной области видимости объемлющей функции, а отображение в конце находит переменную в глобальной области видимости. по моему ответу должно быть только ’N1 ’ выводится, почему второе слово выводится, если в вопросе нет команды принт этого слова?..
0
|
||
| 27.04.2020, 16:49 | ||
|
В интерактивном режиме если мы указываем переменную и нажимаем Enter, то на экран выводится значение переменной (или выражения) без наличия инструкции print. Если же мы запускаем питоновский файл с кодом, то для того, что бы вывести на экран, нужно обязательно использовать инструкцию print. Если бы ты ввел этот код в файл, как он здесь, то значение X на экран не будет выводить. И вообще указание переменной, без каких либо действий с ней будет воспринято как ошибка кода. Добавлено через 3 минуты И вообще у тебя код без отступов. Ты его ввел без тегов "[PYTHON]"? Добавлено через 2 минуты coa3, Выложи правильно код или укажи страницу, что бы я мог тебе объяснить его работу.
0
|
||
|
1 / 1 / 0
Регистрация: 27.02.2020
Сообщений: 101
|
|||||||
| 27.04.2020, 17:23 [ТС] | |||||||
|
Добавлено через 5 минут к стати как вот этот код засунуть в функцию?
0
|
|||||||
| 27.04.2020, 17:23 | |
|
Помогаю со студенческими работами здесь
20
Не работает код Эрик Матиз - Изучаем Python, упражнение 19.1
Исходники к книге Дэвида Гриффитса - Изучаем программирование на с
Проект на PyGame из книги «Изучаем Python. Программирование игр, визуализация данных, веб-приложения», Мэтиза Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|