Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Python 3 (Самообучение) - вопросы.  (Прочитано 14513 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Daynin

  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
    • Google+
Re: Python 3 (Самообучение) - вопросы.
« Ответ #15 : 13 Марта 2013, 07:52:45 »
Любой сдвиг больший длины алфавита можно эквивалентно представить, как сдвиг меньший ее. Тогда ошибки с отрицательным индексом не будет.
Можно вот тут по-подробнее? Допустим, сдвиг алфавита размером в 30 символов равен 100. Как получить корректный отрицательный индекс при этом?
Замечательный тут у вас форум! Много интересных людей.

Оффлайн Phlya

  • Старожил
  • *
  • Сообщений: 2219
  • Фля, Цыганский барон, Винни Пух
    • Просмотр профиля
Re: Python 3 (Самообучение) - вопросы.
« Ответ #16 : 13 Марта 2013, 11:02:34 »
Сдвиг на 100 букв равен сдвигу на 10 букв в данном случае. Каждый сдвиг на 30 букв возвращает в 0, так что несложно это пересчитать.
Ubuntu 14.04 (Unity), MSI GE40

Оффлайн Señor_Gaga

  • Забанен
  • Активист
  • *
  • Сообщений: 878
  • Ubuntu 12.04LTS & Linux Mint 13LTS "Maya"
    • Просмотр профиля
Re: Python 3 (Самообучение) - вопросы.
« Ответ #17 : 13 Марта 2013, 11:20:44 »
[i:j] - это просто операция среза, с помощью которого можно получить
новый список.
Для примера:
>>> lst = [2,3,4,5,6,7,'qwerty', -13]
>>> lst
[2, 3, 4, 5, 6, 7, 'qwerty', -13]
>>> lst[:]
[2, 3, 4, 5, 6, 7, 'qwerty', -13]
>>> lst[6:7]
['qwerty']
>>> lst[0:3]
[2, 3, 4]
>>> lst[3:-1]
[5, 6, 7, 'qwerty']
>>>



Оффлайн Daynin

  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
    • Google+
Re: Python 3 (Самообучение) - вопросы.
« Ответ #18 : 13 Марта 2013, 17:52:47 »
Сдвиг на 100 букв равен сдвигу на 10 букв в данном случае. Каждый сдвиг на 30 букв возвращает в 0, так что несложно это пересчитать.
Я правильно понимаю, что вы имеете в виду, что делаете не так:

Код: (python) [Выделить]
alphabet[(alphabet.index(s) + shift_value) % len(alphabet)]

а так:

Код: (python) [Выделить]
alphabet[(alphabet.index(s) - (shift_value % len(alphabet))]

Если нет, то тогда я все же не очень понимаю, что вы имеете в виду (выложите сразу код того, о чем вы говорите), а если, все таки, да, то по сути нет никакой разницы брать нам остаток от деления суммы индекса и сдвига на длину алфавита, или из индекса вычитать остаток от деления значения сдвига на длину алфавита. По сути и там и там формой контроля является механизм взятия остатка от деления.
Замечательный тут у вас форум! Много интересных людей.

Оффлайн winlox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Python 3 (Самообучение) - вопросы.
« Ответ #19 : 14 Марта 2013, 02:21:10 »
Daynin,
Даже не знаю как вас благодарить. Вы прям в точку попали. Извините, что долго не отвечал, много суеты с документами, собрался улетать. Я попробую написать то, что вы посоветовали но, чуть позже, у меня сейчас в жизни небольшие перемены. Надеюсь через неделю смогу вернутся к обучению. Я отпишусь о результатах обязательно. Еше раз от всей души, спасибо за столь точное понимание ситуации.

Оффлайн Daynin

  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
    • Google+
Re: Python 3 (Самообучение) - вопросы.
« Ответ #20 : 14 Марта 2013, 09:53:20 »
winlox,
Рад, что смог вам помочь!
Замечательный тут у вас форум! Много интересных людей.

Оффлайн ZubrZubr

  • Любитель
  • *
  • Сообщений: 83
    • Просмотр профиля
Re: Python 3 (Самообучение) - вопросы.
« Ответ #21 : 16 Марта 2013, 14:20:55 »
Чтобы не флудить, задаю свои вопросы по python 3 в этой теме.
Изучаю python 3, но торможу часто на классах.
Хочу больше практики, но вот не знаю к чему подойти. Откуда взять идеи на проект и.т.д. Думаю на практике всё свое непонимание по классом быстро бы развеял :)

Оффлайн Daynin

  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
    • Google+
Re: Python 3 (Самообучение) - вопросы.
« Ответ #22 : 16 Марта 2013, 15:59:17 »
ZubrZubr,
попробуйте написать приложение взятое из воздуха такого содержания: есть программка в которую можно залогиниться в режиме обычного пользователя и администратора. Админ может добавлять новых пользователей (каждый пользователь - это экземпляр класса User). По мимо этого, в этом приложении каждый пользователь может создавать "псевдофайлы" - экземпляры класса File. При этом у пользователя должны быть свойства(поля) с именем, возрастом, датой последнего входа в систему. А у файла должны быть свойства с именем файла, датой создания, и именем пользователя, которому он принадлежит. По большому счету - это упрощенная модель приложения без базы данных и так далее. Конечно, это приложение никому пользы не принесет, но для тренировки может подойти.

Когда это напишите, то попробуйте написать сайтик на Django. Прочитайте про ORM, и попробуйте сделать так, чтобы, например, на сайт можно было добавлять какие-нибудь заказы (класс Order), так же чтобы на нем были уже реальные пользователи (User), ну и все это работало с использованием БД.

Это все с практической стороны. А вообще, по большому счету класс в ООП - это декларация свойств/способностей(методов) некоего объекта, инкапсулируемых в некий именованный контейнер. То есть класс User инкапсулирует как раз эти самые свойства юзера (имя, возраст, и так далее), а так же способности(методы) этого юзера (get_name(), get_user_orders() и так далее).

Надеюсь, что смог помочь.
Замечательный тут у вас форум! Много интересных людей.

Оффлайн ZubrZubr

  • Любитель
  • *
  • Сообщений: 83
    • Просмотр профиля
Re: Python 3 (Самообучение) - вопросы.
« Ответ #23 : 16 Марта 2013, 19:48:16 »
ZubrZubr,
попробуйте написать приложение взятое из воздуха такого содержания: есть программка в которую можно залогиниться в режиме обычного пользователя и администратора. Админ может добавлять новых пользователей (каждый пользователь - это экземпляр класса User). По мимо этого, в этом приложении каждый пользователь может создавать "псевдофайлы" - экземпляры класса File. При этом у пользователя должны быть свойства(поля) с именем, возрастом, датой последнего входа в систему. А у файла должны быть свойства с именем файла, датой создания, и именем пользователя, которому он принадлежит. По большому счету - это упрощенная модель приложения без базы данных и так далее. Конечно, это приложение никому пользы не принесет, но для тренировки может подойти.

Когда это напишите, то попробуйте написать сайтик на Django. Прочитайте про ORM, и попробуйте сделать так, чтобы, например, на сайт можно было добавлять какие-нибудь заказы (класс Order), так же чтобы на нем были уже реальные пользователи (User), ну и все это работало с использованием БД.

Это все с практической стороны. А вообще, по большому счету класс в ООП - это декларация свойств/способностей(методов) некоего объекта, инкапсулируемых в некий именованный контейнер. То есть класс User инкапсулирует как раз эти самые свойства юзера (имя, возраст, и так далее), а так же способности(методы) этого юзера (get_name(), get_user_orders() и так далее).

Надеюсь, что смог помочь.
Спасибо, именно такого плана мне и нужен был ответ.
А из литературы что посоветуете?
Есть Доусон "Прораммируем на python". Лутц в pdf варианте. Может есть еще книги, которые просто "маст хэв":)?

Оффлайн Daynin

  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
    • Google+
Re: Python 3 (Самообучение) - вопросы.
« Ответ #24 : 16 Марта 2013, 19:57:16 »
ZubrZubr,
Я читал в свое время Лутца и Саммерфилда, еще вот эту.
Замечательный тут у вас форум! Много интересных людей.

Оффлайн winlox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Python 3 (Самообучение) - вопросы.
« Ответ #25 : 17 Марта 2013, 01:46:56 »
А из литературы что посоветуете?
Есть Доусон "Прораммируем на python". Лутц в pdf варианте. Может есть еще книги, которые просто "маст хэв":)?
Я читаю Саммерфилда. Прекрасная книга. Я почти все понимаю.
Вопрос, Можно ли на Python 3, Создавать окна и кнопки как в VB, Delphi, Lazarus?
Дело в том, что работа только с текстом очень скучно.
Хочется хоть, чем-нибудь себя порадовать за свои труды в изучении.

Xanych

  • Гость
Re: Python 3 (Самообучение) - вопросы.
« Ответ #26 : 17 Марта 2013, 02:11:22 »
winlox,
  Оконный интерфейс? У питона есть биндинги к Qt(PyQt), GTK(PyGTK),wxWidgets(wxPython),Tcl/Tk(Tkinter). Но сначала изучи просто питон, без этого не обойтись.

Пользователь решил продолжить мысль 17 Марта 2013, 02:14:24:
Плюс где-то в последней главе Саммерфилд дает основы, так сказать, оконного интерфейса при помощи Tkinter.
« Последнее редактирование: 17 Марта 2013, 02:14:24 от Nuclear Device »

Оффлайн winlox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Python 3 (Самообучение) - вопросы.
« Ответ #27 : 17 Марта 2013, 02:30:40 »
winlox,
 Но сначала изучи просто питон, без этого не обойтись.
Да понимаю. Просто хочется, уже хоть что-нибудь сделать помимо
x=y
print(y)
На Windows Tkinter работает? У меня Lubuntu легла после моих кривых рук.

Xanych

  • Гость
Re: Python 3 (Самообучение) - вопросы.
« Ответ #28 : 17 Марта 2013, 02:34:42 »
 Да, он там по-моему вместе с питоном поставляется.

 Лучше, читайте книгу по порядку-вам мой совет. И делайте упражнения к главе. Иногда там попадаются интересные задачки.

Оффлайн Daynin

  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
    • Google+
Re: Python 3 (Самообучение) - вопросы.
« Ответ #29 : 17 Марта 2013, 02:36:46 »
winlox,
 Но сначала изучи просто питон, без этого не обойтись.
Да понимаю. Просто хочется, уже хоть что-нибудь сделать помимо
x=y
print(y)
На Windows Tkinter работает? У меня Lubuntu легла после моих кривых рук.


Посмотрите здесь. Но, как было сказано ранее, не стоит сразу начинать программировать GUI. Лучше сначала изучить язык сам по себе.
Замечательный тут у вас форум! Много интересных людей.

 

Страница сгенерирована за 0.056 секунд. Запросов: 25.