Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 6, 2017 21:16:22

Schlange
Зарегистрирован: 2016-11-28
Сообщения: 38
Репутация: +  1  -
Профиль   Отправить e-mail  

М.Лутц (сто морских ежей ему в задницу) Изучаем Python, 4-е издание

doza_and
Так может хватит думать а пора уже сделать?

Спасибо за рекомендации, но пока у меня появляются вопросы как ниже, придется отложить в стол.

pi = math.pi
print('{0:.4f}'.format(pi)) # Строковый метод
print(format(pi, ‘.4f’)) # Встроенная функция
print('%.4f' % pi) # Выражение форматирования

Как запретить округление до 3.1416, и почему по умолчанию округляет?

py.user.next
Всё сводится обычно к следующему

Спасибо за ‘миллион долларов’, если ‘не пропью’, обязательно изучу все ссылки.

P.S. Сейчас я решил добить 7ю главу Лутца, перед тем, как делать паузу. Поэтому пишу мало и с запозданием.



ubuntu 14.04 / manjaro 16.10

Отредактировано Schlange (Янв. 6, 2017 21:19:31)

Офлайн

#2 Янв. 7, 2017 03:53:01

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9825
Репутация: +  852  -
Профиль   Отправить e-mail  

М.Лутц (сто морских ежей ему в задницу) Изучаем Python, 4-е издание

Schlange
Как запретить округление до 3.1416, и почему по умолчанию округляет?
Оно округляет во всех языках, потому что 3.14159 ближе к 3.1416, чем к 3.1415. Спецификатор f старается приблизить число к его реальному значению, а не просто отбросить цифры.

Если надо точно, можно просто убрать девятку.
  
>>> int(math.pi * 10000) / 10000
3.1415
>>>

Но обычно это всё не надо, потому что даже неокруглённое число хранится неточно, из-за того что хранение числа определяется ограниченным количеством бит в памяти. Поэтому на дробные числа не очень полагаются, когда нужна высокая точность (деньги, например, в реальных программах переводят в целые числа и всё считают на них, чтобы неточность вычислений не повлияла на результат).

Schlange
Сейчас я решил добить 7ю главу Лутца
Лутц только про питон рассказывает, а чтобы делать программу, нужно ещё и в программировании ориентироваться. То есть после Лутца ты будешь знать только питон, но, зная питон, программу на нём не напишешь, так как программу сначала нужно придумать и построить её конкретный алгоритм, независимый от языка, а это делается с помощью теории программирования. Там, вообще, много всякой теории, которая общая для всех языков программирования, поэтому существует псевдокод, на котором можно записать реализацию алгоритма, а потом уже его можно переводить на любой реальный язык программирования.

Вот пример псевдокода:
подчключиться к серверу
прочитать записи
для каждой записи
выбрать слова из записи
отключиться от сервера

Питон для этого знать не надо, но программу всё равно не составишь.

Сначала составляешь словесное описание алгоритма.
Потом по словесному описанию составляешь блок-схему.
Потом по блок-схеме пишешь псевдокод.
Потом по псевдокоду пишешь реальный код.

На каждом этапе устраняешь ошибки и неточности, оптимизируешь, выбрасываешь лишнее и даже переделываешь что-то. Сначала всё делаешь на бумаге (в компе), потом со временем всё это делаешь в воображении и сразу код записываешь, беря его из воображения. Если на бумаге не делаешь, то и в голове не умеешь делать, а в голове не умеешь делать - код не умеешь сразу записывать. Короче, если не будешь учиться, то будет получаться быдлокод и говнокод - это похожие понятия, но разные. Быдлокод - это код с нарушением общепринятых правил, которое происходит из-за незнания этих правил. А говнокод - это код с нарушением общепринятых правил, которое происходит при знании этих правил, но их непринятии. Быдлокод можно увидеть у новичков, как правило, а говнокод у любых уровней (это от личности человека зависит). Так что учись и делай всё, как принято.



Отредактировано py.user.next (Янв. 7, 2017 03:58:20)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version