|
1 / 1 / 0
Регистрация: 27.02.2020
Сообщений: 101
|
|||||||||||
Изучаем Python по книге Лутца17.04.2020, 12:37. Показов 9165. Ответов 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
|
|
|
5515 / 2868 / 571
Регистрация: 07.11.2019
Сообщений: 4,758
|
||||||
| 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. Программирование игр, визуализация данных, веб-приложения», Мэтиза Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит:
токи, напряжения и их 1 и 2 производные при t = 0;. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|