Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/208: Рейтинг темы: голосов - 208, средняя оценка - 4.75
 Аватар для Lucky64
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288

Ищу доброго самаритянина по питону

16.01.2019, 16:27. Показов 45356. Ответов 508
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всех приветствую, немного о себе, 27 лет, женат, работаю системным админом в крупной компании. Всегда хотел программировать, но по стечению обстоятельств не сложилось, то работа не позволяла, не было времени, то бытовуха итд. Но вот решил что во что бы то не стало я овладею данной профессией. Начал свой путь программирования с питона. Сейчас читаю книги, прохожу на сайтах различные обучающие уроки итд, на ютюбе нашел не плохой канал где разжевывают все хорошо и вроде потихоньку получается писать (можно было бы идти на курсы, но не позволяет работа, питон питоном, а семью кормить надо, вроде и на работе время есть изучать, но вот уходить на курсы с работы итд, это не варик). Буквально вчера закончил разбираться и написал уже самостоятельно игру камень, ножницы, бумага, где играешь против компа. Ищу человека который просто направлял бы меня в нужное русло, подкидывал материал для изучения, который потом мне пригодится итп, который помог бы в трудностях. Просто учить все подряд без какого либо плана дает итог каши в голове. Если найдется тут такой человек, буду искренне благодарен ему!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.01.2019, 16:27
Ответы с готовыми решениями:

В зависимости от ведённого времени получите сообщение с пожеланием доброго утра, доброго дня, доброго вечера, спокойный
Плииз! Помогите с учёбой! В общем суть задания: В зависимости от ведённого времени (от 0 до 24) получите сообщение с пожеланием доброго...

В зависимости от введенного значения времени желает доброго утра, доброго дня, доброго вечера, доброй ночи.
Нужно составить программу, которая требует ввода времени дня и в зависимости от введенного значения желает доброго утра, доброго дня,...

Ищу доброго человечка, который поможет
Здравствуйте. Помогите пожалуйста сверстать небольшую страницу. Html, Css, Font Awesome

508
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
10.02.2019, 12:49
Студворк — интернет-сервис помощи студентам
Написано

ImportError: No module named 'mytimer'

где-то модуль mytimer.py потеряли
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
10.02.2019, 14:04
Цитата Сообщение от Lucky64 Посмотреть сообщение
Разберусь с 20 главой
в большинстве курсов начального уровня, дальше 20 главы (если это Лутц 4-е издание)
не изучают

Добавлено через 3 минуты
Lucky64, mytimer
https://pythlife.blogspot.com/... ронометраж
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Файл mytimer.py (только для 3.X)
 
“””
Вместо формы ** и метода pop словарей используются аргументы, которые могут 
передаваться только по именам, появившиеся в версии 3.0.
В версии 3.0 нет необходимости выносить вызов range() за пределы цикла, так как эта 
функция возвращает генератор, а не список
“””
import time, sys
trace = lambda *args: None # or print
timefunc = time.clock if sys.platform == ‘win32’ else time.time
 
def timer(func, *pargs, _reps=1000, **kargs):
    trace(func, pargs, kargs, _reps)
    start = timefunc()
    for i in range(_reps):
        ret = func(*pargs, **kargs)
    elapsed = timefunc() - start
    return (elapsed, ret)
 
def best(func, *pargs, _reps=50, **kargs):
    best = 2 ** 32
    for i in range(_reps):
        (time, ret) = timer(func, *pargs, _reps=1, **kargs)
        if time < best: best = time
          return (best, ret)
 
Результат будет идентичен предыдущей версии...
а вообще, лучше уходить с windows
можно второй операционной системой ставить ubuntu 18

Это, почти обязательное условие!
0
 Аватар для Lucky64
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
10.02.2019, 14:29  [ТС]
Цитата Сообщение от IRIP Посмотреть сообщение
а вообще, лучше уходить с windows
а почему? в чем преимущества?

Добавлено через 31 секунду
Цитата Сообщение от tooru Посмотреть сообщение
где-то модуль mytimer.py потеряли
Будем искать значит
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
10.02.2019, 14:50
Цитата Сообщение от Lucky64 Посмотреть сообщение
а почему? в чем преимущества?
Самое главное - сокращение требований к ресурсам системы.
На одном из ноутов (iCore3, 6Gb, hdd) - винда 10, работала мягко говоря, медленно, что уж говорить про запуск того же pycharm или netBeans

Поставил ubuntu 18 - любое нужное мне приложение - запускается БЫСТРО, работает вполне сносно.

Тут нужно понимать, что ставить желательно, второй системой. В Убунту встроен механизм, при установке, она сама подскажет (спросит) сколько места взять от диска, для установки

Винду сохраните, и убунту поставите

в убунту гораздо удобнее работать, я от винды отказался еще в 2015 году (стоит второй системой, иногда нужно запускать виндоуз приложения)
0
 Аватар для Lucky64
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
10.02.2019, 15:57  [ТС]
IRIP, ясно, в дальнейшем буду думать тогда
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
10.02.2019, 16:08
Lucky64, тут без вариантов. Разрабатывать в windows среде (особенно с django, git) очень не просто

мелочи добивают...

самое стабильное, на сегодняшний день - убунту
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
10.02.2019, 16:38
Цитата Сообщение от Lucky64 Посмотреть сообщение
ImportError: No module named 'mytimer'
Отладчик сообщает, что нет такого модуля с именем mytimer
Действительно, сомневаюсь, что в библиотеке питона может быть модуль с именем начинающимся с префикса my.
Да и в примечании говорится, что импортируется не модуль, а функция. Это значит, что должна быть инструкция
from ... import ...
Сейчас попробую найти этот пример в книге.
0
 Аватар для Lucky64
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
10.02.2019, 17:03  [ТС]
Viktorrus, в районе 580-590 страницы примерно
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
10.02.2019, 17:16
Так, нашел. mytimer это не модуль библиотеки питона, это модуль, который ты сам должен был создать, используя код на предыдущей странице, и разместить его в той же папке где и этот, рассматриваемый в текущий момент файл сценария.
Теперь немного общей теории о расположении модулей. В этой части, не знаю дошел ли ты, есть глава посвященная вопросу указания в питоне маршрутов(путей) к модулю. Относительные пути, абсолютные пути и т.д. Глава достаточно сложная для понимания, так как там много нюансов. Прочитай ее бегло, для общего понимания, углубляться не нужно. Так как эти проблемы возникают только в крупных проектах. На стадии обучения ты с ними сталкиваться не будешь. В небольших проектах самое оптимальное все размещать в одном каталоге. И возьми себе это за правило.
Теперь вернемся к нашим баранам.
Код модуля mytimer тебе понятен? Понятно что он делает? Если нет, то давай сначала его разберем.

Добавлено через 9 минут
И еще, для обучения скорость железа и программ не так важна, хотя и может раздражать. Более важно, что бы было понятно и удобно.
Да, и по поводу скорости, с которой ты изучаешь материал, она потрясающая. У меня бывают дни, когда я за день прохожу всего 2-3 страницы. Так что не переживай. а если ты в процессе обучения что то не достаточно усвоишь, то разберем и восполним недостающие знания.
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
10.02.2019, 17:21
Цитата Сообщение от Viktorrus Посмотреть сообщение
Так, нашел. mytimer
а чего искать, если чуть выше в постах есть он?
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
10.02.2019, 20:51
Цитата Сообщение от Lucky64 Посмотреть сообщение
обязательно гляну после завершения части из лутца
Эту статью не обязательно читать всю, да и не нужно, достаточно прочитать первый абзац, что бы понять о чем речь и пролистать что бы глянуть на картинки. Смысл в том, что бы в памяти отложилось, что существует такая библиотека для питона , которая содержит такие средства для такой визуализации данных. И не более, Глубже вникать нужно будет только тогда, если эта библиотека реально понадобиться.

Добавлено через 3 часа 25 минут
Lucky64, я решил еще раз объяснить, хотя уже говорил об этом.
Когда то, когда программирование еще только зарождалось, для микропроцессоров программировали непосредственно в машинных кодах. Затем каждому машинному коду для удобства присвоили имена, так появился язык Assembler. Со временем язык Ассемблер совершенствовался, часто повторяющиеся блоки команд стали оформлять в макросы. Затем появился язык С , который макросы оформил как команды этого языка. Язык С наиболее близок к Ассемблеру, то есть к машинному языку. Язык С совершенствовался, сегодня это языки С++ и С#. Затем появились языки более высокого уровня, где блоки команд из С были объединены и оформлены в виде команд в этих новых языках. Это Дельфи и Паскаль. В школах до сих пор учат учеников программированию используя устаревший Паскаль. Просто учителям лень переучиваться на более современный язык Питон. Попутно появился язык высокого уровня Бэйсик, и много еще языков высокого уровня, иногда специализирующихся под конкретные виды деятельности. В чем отличие языков низкого уровня и языков высокого уровня. Языки низкого уровня состоят из мелких блоков (команд) , где каждая команда это фиксированный набор машинных команд.
Язык самого низкого уровня, это Ассемблер, где каждая команда соответствует команде процессора( машинной команде).
Чем язык более высокого уровня, тем каждая команда языка представляет более крупный блок фиксированного набора машинных команд. Но так как из мелких блоков можно построить более компактную структуру, чем из крупных блоков, то Языки низкого уровня позволяют создавать программы более компактные (в переводе на машинный код) и потому более быстрые. Но из за того, что они состоят из мелких блоков, написание программ на языках низкого уровня значительно трудозатратнее. Языки высокого уровня, это как крупно панельное строительство. Их команды представляют собой крупные блоки, вмещающие в себя большое количество машинных команд. Поэтому процесс написание программы на языках высокого уровня достаточно быстрый, но эти программы при переводе в машинный язык значительно уступают по компактности программам написанным на языках низкого уровня. И потому они значительно уступают в скорости выполнения.
Подытожим. На языках низкого уровня программы писать дольше и сложнее, но работают они быстрее. На языках высокого уровня писать программы быстрее и проще, но работают они медленнее. В реальных задачах выбирают что важнее, скорость разработки программы или скорость выполнения программы. Чем мощьнее становятся компьютеры, тем чаще отдают предпочтение первому фактору.
Теперь о стилях программирования.
Изначально долгое время стиль был один процедурный. Некоторые до сих пор программируют только на нем.
Затем по мере того, как программы становились все крупнее и трудно было охватить в одной программе все, появилось модульное программирование. У Лутца оно описывается в части V. Современный стиль программирования, это ООП. Не буду рассказывать про все преимущества ООП, у Лутца все это описано. Но современные крупные проекты не возможны без ООП, как и без модулей. Хотя некоторые продолжают клепать маленькие программки, не выходя за пределы процедурного языка и считают, что ООП им не нужен. Не знаю, может просто современное программирование им не нужно, каждому свое.
Lucky64, ты пока еще не программист и ты не участвуешь в разработке крупных проектов, поэтому глубокое знание ООП тебе пока не требуется, но для того, что бы быть грамотным программистом, нужно иметь базовое представление об ООП. Поэтому я и рекомендовал тебе беглое изучение глав 25-28. Следующие дальше главы нужны уже только профессионалам в ООП. Правда среди тех глав Лутц разместил часть VII "Исключения и инструменты" которая нужна всем, даже тем, кто не выходит за границы процедурного языка.
1
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
10.02.2019, 21:14
Поддерживаю Viktorrus, более того, в настоящее время, знание python3 обязательно, наравне со знанием javascrips
одно, будет дополнять другое
0
 Аватар для Lucky64
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
11.02.2019, 05:47  [ТС]
Цитата Сообщение от Viktorrus Посмотреть сообщение
Так, нашел. mytimer это не модуль библиотеки питона, это модуль, который ты сам должен был создать, используя код на предыдущей странице, и разместить его в той же папке где и этот, рассматриваемый в текущий момент файл сценария.
Честно сказать я догадывался) сейчас сделаю!
Цитата Сообщение от Viktorrus Посмотреть сообщение
Теперь немного общей теории о расположении модулей. В этой части, не знаю дошел ли ты, есть глава посвященная вопросу указания в питоне маршрутов(путей) к модулю. Относительные пути, абсолютные пути и т.д. Глава достаточно сложная для понимания, так как там много нюансов. Прочитай ее бегло, для общего понимания, углубляться не нужно. Так как эти проблемы возникают только в крупных проектах. На стадии обучения ты с ними сталкиваться не будешь.
Нет еще вроде не было
Цитата Сообщение от Viktorrus Посмотреть сообщение
Код модуля mytimer тебе понятен? Понятно что он делает? Если нет, то давай сначала его разберем.
В общих чертах, сейчас буду подробно его разбирать, вчера что то бегло пробежал его, и нервы сдали
Цитата Сообщение от Viktorrus Посмотреть сообщение
И еще, для обучения скорость железа и программ не так важна, хотя и может раздражать. Более важно, что бы было понятно и удобно.
да я тоже так думаю, тем более в самом начале пути...
Цитата Сообщение от Viktorrus Посмотреть сообщение
Да, и по поводу скорости, с которой ты изучаешь материал, она потрясающая. У меня бывают дни, когда я за день прохожу всего 2-3 страницы. Так что не переживай. а если ты в процессе обучения что то не достаточно усвоишь, то разберем и восполним недостающие знания.
спасибо за поддержку!!
Цитата Сообщение от Viktorrus Посмотреть сообщение
я решил еще раз объяснить, хотя уже говорил об этом.
Про языки высокого и низкого уровня слышал, и даже немного читал, спс что разжевали.
Цитата Сообщение от IRIP Посмотреть сообщение
Поддерживаю Viktorrus, более того, в настоящее время, знание python3 обязательно, наравне со знанием javascrips
одно, будет дополнять другое
Будем значит изучать)

Добавлено через 4 минуты
Viktorrus, по поводу кода- код сам понятен, то есть понятно что и где делается, однако сам с нуля при поставленной задаче я его не напишу(( это критично?

Добавлено через 36 минут
Viktorrus, IRIP, В общем наконец это свершилось и я закончил 20 главу, ура. Остались задания для этой части, которыми я все же займусь уже завтра, т.к. сегодня у меня рабочий день, и чую работы будет много, да и не выспался я что то... В планах разобраться конкретно со всеми заданиями и все же пройти начальный курс на степике, Что скажете Виктор? Просто не уверенность в усвоении пройденных знаний меня очень сильно дизморалит... Или советуете не парится и продолжить Лутца?
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
11.02.2019, 09:39
Цитата Сообщение от Lucky64 Посмотреть сообщение
Просто не уверенность в усвоении пройденных знаний меня очень сильно дизморалит...
Вопрос не мне, но я выскажу свое мнение, тоже, с вашего позволения.

Курсы на степике, в следующей последовательности:

https://stepik.org/course/7215 - совсем для начинающих, рассказывают с самых азов зарождения программирования, и что это вообще такое и зачем нужно). Занимает уйму времени, зато разжевывается каждая запятая (единственный курс, составленный про. преподом по информатике). Проходить можно где-то 500 заданий, меня на большее не хватило. Переключился на -

https://stepik.org/cert/138520 - этот курс. Не для новичков. Для тех, кто уже прошел какой-то базовый курс

https://stepik.org/course/512 - основы ПРИМЕНЕНИЯ python. Задания, например: Реализуйте программу, которая будет эмулировать работу с пространствами имен. Необходимо реализовать поддержку создания пространств имен и добавление в них переменных...

и

https://stepik.org/course/2223 - js script, сам только начал изучать... не просто, но изучая на начальном уровне, ВТОРОЙ язык - начинаешь лучше понимать первый.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
11.02.2019, 20:21
Цитата Сообщение от Lucky64 Посмотреть сообщение
Просто не уверенность в усвоении пройденных знаний меня очень сильно дизморалит... Или советуете не парится и продолжить Лутца?
Я предлагаю так: Каждое задание в конце 20 главы разобрать здесь не зависимо от того, понятно оно тебе или нет. Если ты уверен что задание тебе понятно, то выложи его здесь с твоими примечаниями какие инструкции в коде, что делают. А мы посмотрим, если твои примечания будут правильными, то значит ты действительно это задание усвоил. Итак делай следующее. Заводишь код, решающий задание,сопровождая его примечаниями, в отладчик. Отлаживаешь его. Затем выкладываешь сюда и мы его обсуждаем. Так ты закрепишь материал.
Кстати, если ты согласишься, то я время от времени буду копировать сюда задания из тем форума, которые на пройденный тобой материал, тебе для практики, и будем подробно их разбирать. Закончишь с заданиями к 20 главе и переходи к следующим главам. Следующая часть посвящена модульному программированию, как раз ошибку которую ты сделал в прошлом примере, связана с пониманием работы с модулями.
1
 Аватар для Lucky64
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
12.02.2019, 08:32  [ТС]
Цитата Сообщение от Viktorrus Посмотреть сообщение
Кстати, если ты согласишься, то я время от времени буду копировать сюда задания из тем форума, которые на пройденный тобой материал
Я только ЗА!!
Цитата Сообщение от Viktorrus Посмотреть сообщение
Я предлагаю так: Каждое задание в конце 20 главы разобрать здесь не зависимо от того, понятно оно тебе или нет. Если ты уверен что задание тебе понятно, то выложи его здесь с твоими примечаниями какие инструкции в коде, что делают.
Хорошо, сегодня как раз начну выполнение заданий

Добавлено через 1 час 15 минут
Viktorrus, ну тогда по порядку, задание:
Основы. В интерактивной оболочке интерпретатора Python напишите
функцию, которая выводит на экран единственный аргумент, и попробуйте вызвать ее несколько раз, передавая объекты различных типов: строки,
целые числа, списки, словари. Затем попробуйте вызвать ее без аргументов.
Что произошло? Что произойдет, если передать функции два аргумента?
Мой вариант ответа:
Python
1
2
3
def f(g):#Создаем ауткцию и связываем ее с аргументом
    return g#Возвращаем аргумент
print(f(33))#Указываем аргумент
Далее по заданию :вызвать ее несколько раз, передавая объекты различных типов: строки,
целые числа, списки, словари.
Все выводит без ошибок вне зависимости от типа аргумента.
При вызове пустой функции выводит ошибку.
Все норм, справился?

Добавлено через 31 минуту
Viktorrus, 2 задание:
Аргументы. Напишите функцию с именем adder в файле модуля. Функция
должна принимать два аргумента и возвращать их сумму (или конкатенацию). Затем добавьте в конец файла модуля вызовы функции adder с объектами различных типов (две строки, два списка, два вещественных числа)
и запустите этот файл как сценарий из командной строки операционной
системы. Должны ли вы явно производить вывод результатов, чтобы они
появились на экране?
Мое решение:
Python
1
2
3
4
5
def adders(x,y):
    return x+y
print(adders('fff','sdf'))
print(adders([1,2,3],[3,2,1]))
print(adders(2.2,3.3))
задание выполнил, думаю коменты излишне, тут все просто. Единственное я сохранил файл, но при запуске из консоли винды окно появляется и исчезает, то есть не показывает результата. При запуске из программы все работет хорошо... видать не до конца разобрался с пайчармом еще...
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
12.02.2019, 09:17
Цитата Сообщение от Lucky64 Посмотреть сообщение
def f(g):#Создаем ауткцию и связываем ее с аргументом
* * return g#Возвращаем аргумент
print(f(33))#Указываем аргумент

Маленькая ремарка - когда пишешь код, лучше сразу его форматировать по всем правилам.
например:

Python
1
2
3
4
5
def f(g):
    """ Создаем функцию и связываем ее с аргументом
    """
    print(f(33))  # Указываем аргумент
    return g  # Возвращаем аргумент
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
12.02.2019, 11:31
Цитата Сообщение от Lucky64 Посмотреть сообщение
напишите
функцию, которая выводит на экран единственный аргумент
Но у тебя не функция выводит на экран единственный аргумент. Функция у тебя только возвращает аргумент. А выводится на экран он у тебя уже за пределами функции. Напиши функцию простой вызов которой будет выводить на экран ее аргумент
Python
1
2
3
4
def f(g):
    ...
 
f('строка')        # строка
и проверь все варианты, которые просят в задании.
return здесь не обязателен. Выводить на экран функция должна и без него.

Добавлено через 19 минут
И в дополнение к первому заданию задание от меня:
Как сделать, что бы можно было передавать функции любое количество аргументов, или без аргумента, и что бы это не вызывало ошибки.
0
 Аватар для Lucky64
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
12.02.2019, 11:59  [ТС]
Цитата Сообщение от Viktorrus Посмотреть сообщение
Как сделать, что бы можно было передавать функции любое количество аргументов, или без аргумента, и что бы это не вызывало ошибки
это как раз 3 задание в этой части, над ним работаю.
Цитата Сообщение от Viktorrus Посмотреть сообщение
return здесь не обязателен. Выводить на экран функция должна и без него.
да я понял что не обязателен, просто Лутц в книге акцентировал что лучше взять за правило всегда использовать ретурн, тем самым в будущем это поможет избежать ошибок, вот я и взял за правило всегда его использовать)
Цитата Сообщение от Viktorrus Посмотреть сообщение
Но у тебя не функция выводит на экран единственный аргумент. Функция у тебя только возвращает аргумент. А выводится на экран он у тебя уже за пределами функции. Напиши функцию простой вызов которой будет выводить на экран ее аргумент
имеете ввиду так?
PHP/HTML
1
2
def f(g): print(g)
f('строка')
Так? просто это вариант в в интерактивной оболочке работает только, а мне она ппц не нравится, не удобно менять код после ошибки... или работа в инт.оболочке необходима? Я обычно даже при прочтении книги примеры переделываю так, что бы они запускались непосредственно в пайчарме, интерактивная оболочка раздражает...

Добавлено через 3 минуты
Viktorrus,
вот к стати чтоб можно было вводить сколько угодно аргументов:
Python
1
2
def f(*g): print(g)
f('sdfds','dfsdf')
Правильно?

Добавлено через 4 минуты
Viktorrus, вот вариант где пустой вызов не выдает ошибки:
Python
1
2
def f(*g): g=0, print(g)
f()
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
12.02.2019, 13:13
Цитата Сообщение от Lucky64 Посмотреть сообщение
при запуске из консоли винды окно появляется и исчезает
Это особенность работы питона. При запуске из консоли питон после выполнения автоматически закрывается и с экрана удаляется все, что связано с питоном, в том числе то, что питон вывел на экран. Для того, что бы при выводе на экран информация не пропадала, нужно не давать питону автоматически закрываться. Для этого обычно в таких случаях, для отладки, добавляют в конце сценария инструкцию input(). Тогда питон будет ждать ввода с клавиатуры и не закроется и все что выводилось на экран питоном останется.
Для того, что бы осуществлялся вывод на экран не зависимо от закрытия питона, питон должен использовать команды операционной системы специальными инструкциями. Это описывается в другой книге
Лутц М. Программирование на Python. Том 1 (4-е издание, 2011)

Добавлено через 9 минут
Цитата Сообщение от Lucky64 Посмотреть сообщение
просто это вариант в в интерактивной оболочке работает только
Нет это работает и в файле.
Отличие от интерактивного режима, что в файле вывод на экран только с помощью команды primt(), а в интерактивном режиме выводит на экран и без функции print(). Достаточно просто ввести имя переменной и интерпретатор выведет ее значение (точнее объект, на который ссылка у этой переменной).

Добавлено через 4 минуты
Именно потому, что теперь у тебя функция выводит на экран, а не за пределами функции, у тебя будет работать и в файле
Python
1
2
def f(*g): print(g)
f('sdfds','dfsdf')
Добавлено через 1 минуту
Python
1
2
def f(*g): print(g)
f('sdfds','dfsdf')
Выполнил правильно.

Добавлено через 8 минут
Python
1
2
3
4
5
6
def adders(x,y):
    return x+y
print(adders('fff','sdf'))
print(adders([1,2,3],[3,2,1]))
print(adders(2.2,3.3))
input()
Выполнено задание верно. Добавленный мной input() позволит увидеть вывод на экран в консоли.

Добавлено через 1 минуту
Что бы закончить работу питона, просто нажать Enter

Добавлено через 8 минут
Цитата Сообщение от Lucky64 Посмотреть сообщение
Лутц в книге акцентировал что лучше взять за правило всегда использовать ретурн
Видимо он прав, просто я хотел продемонстрировать, что вывод функцией на экран может производиться и без return , одно с другим не связано.

Добавлено через 5 минут
Тогда будет так

Python
1
2
3
4
5
def f(g):
    print(g)
    return g
 
f('строка')
Добавлено через 4 минуты
Хотя я не знаю, что он имел ввиду. Может так, когда по алгоритму нам не нужно ничего возвращать

Python
1
2
3
4
5
def f(g):
    print(g)
    return
 
f('строка')
Добавлено через 13 минут
Хотя методы в классах, это те же функции, но которые находятся внутри класса. При этом рни могут ничего не возвращать, а просто выполнять некоторые действия. И Лутц в этом случае не использует в них return .

Python
1
2
3
4
5
6
7
8
9
>>> class Super: 
...     def method(self): 
...         print(in Super.method) 
... 
>>> class Sub(Super): 
...     def method(self):               # Переопределить метод 
...         print(‘starting Sub.method)# Дополнительное действие 
...         Super.method(self)          # Выполнить действие по умолчанию 
...         print(‘ending Sub.method)
Может ты что то не так понял.
Если найдешь страницу, где он это говорит, я посмотрю.

Добавлено через 10 минут
Вот что пишет Лутц:

Инструкция def создает объект функции и связывает его с именем. В общем виде инструкция имеет следующий формат:

def <name>(arg1, arg2,... argN):
<statements>

Как и все составные инструкции в языке Python, инструкция def состоит из строки заголовка и следующего за ней блока инструкций, обычно с отступами (или простая инструкция вслед за двоеточием). Блок инструкций образует тело функции, то есть программный код, который выполняется интерпретатором всякий раз, когда производится вызов функции. В строке заголовка инструкции def определяются имя функции, с которым будет связан объект функции, и список из нуля или более аргументов (иногда их называют параметрами) в круглых скобках. Имена аргументов в строке заголовка будут связаны с объектами, передаваемыми в функцию, в точке вызова. Тело функции часто содержит инструкцию return:

def <name>(arg1, arg2,... argN):
...
return <value>

Инструкция return может располагаться в любом месте в теле функции – она завершает работу функции и передает результат вызывающей программе. Инструкция return содержит объектное выражение, которое дает результат функции. Инструкция return является необязательной – если она отсутствует, работа функции завершается, когда поток управления достигает конца тела функции. С технической точки зрения, функция без инструкции return автоматически возвращает объект None, однако это значение обычно просто игнорируется.

Он пишет, что часто содержит return но она не обязательна.
Лишняя инструкция забирает дополнительное время, что не желательно.
Поэтому я думаю, что ты скорее всего ошибся.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.02.2019, 13:13
Помогаю со студенческими работами здесь

Ищу доброго человека, который прособеседует по java
Ищу доброго человека чтобы поспрашивал по java, дабы проверить знания. Мечу на позицию java junior. Хочется проверить свои знания перед...

Кр по питону ?
У меня третий вариант и я не могу решить как это делать

Лабораторная по питону
Есть 2 емкости : кубическая с ребром Ф, цилиндрическая с высотой Н и радиусом R. Определить поместится ли жидкость объемом М в первую...

Задание по питону
Дана последовательность случайных чисел длиной n. Выбросить из ряда те элементы, значение которых равно a и b. Вывести полученное, а затем...

Питону не понравилось
import threading, time flag = True def proc(n): while flag==True: print(n) time.sleep(0.3) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
180
Закрытая тема Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
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
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru