Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 8, 2019 17:00:49

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Запись/чтение в файл

Vladimirv
Сейчас же просто складывайте данные в файл по месяцам, один файл на 1 месяц
:):):) По уму и платят раз в месяц. Если программа для личного пользования то темп накопления данных будет мизерный. База данных тут не окупится и через 1000 лет если функционал не расширять.
.
alloy
Может пригодится.
Ну так себе… Позволю себе несколько комментариев по улучшению стиля.

 myfile = open("demo.txt", "r") #открываем файл на чтение. Если файл истории не существует будет ошибка
mylist = myfile.readlines() #Прочитает файл и построчно сформирует список
print(mylist) # ???? Зачем
print(len(mylist)) # ???? Зачем
#В списке 4 элемента. Индекс последнего будет равен 3
myoldindex = int(mylist[3])# Наверное лучше int(mylist[-1])
print(myoldindex) # ???? Зачем
#Теперь можно сравнивать с новым показанием
myfile.close() # файл надо было закрывать сразу после myfile.readlines()
myfile = open("demo.txt", "a")#Открываем файл для добавления
myfile.write("104")# Добавляем с новой строчки Чтото мне кажется вы перевод строки потеряли
myfile.close()#Как-то так



Отредактировано doza_and (Дек. 8, 2019 17:02:11)

Офлайн

#2 Дек. 8, 2019 20:04:01

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Запись/чтение в файл

py.user.next
Простой пример алгоритма
спасибо
Vladimirv
вам нужна база данных
так же думаю
1. ради фана
2. возможность расширения
doza_and
База данных тут не окупится
ну так ТС за нее и не платит (денех) и даже больше того получает (опыт)
зы спасиб разбор кода поучительный



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

#3 Дек. 8, 2019 23:02:57

Vladimirv
Зарегистрирован: 2013-03-22
Сообщения: 108
Репутация: +  7  -
Профиль   Отправить e-mail  

Запись/чтение в файл

doza_and
База данных тут не окупится
Еще как окупится, если прочитать это:
also1
Програмку пишу не для внедрения в жизнь, а в качестве практики и на ней разбираюсь, и надеюсь, что с течением времени она дойдет до предложенной.
Набьет руку на живом, интересном примере. Что будем делать? Будем завидовать.

Отредактировано Vladimirv (Дек. 8, 2019 23:03:11)

Офлайн

#4 Дек. 9, 2019 06:42:47

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Запись/чтение в файл

Vladimirv
Набьет руку на живом, интересном примере
Не туда он ее засунет.
Тут правильно писали что надо делать.
1. Продумать и записать постановку задачи. Что на входе что на выходе какие режимы и т. д. и т. п.
2. Разработать алгоритм решения. Да, возможно, блок схему нарисовать или UML диаграмму. Опытные разработчики могут алгоритм сразу в виде кода или псевдокода накидывать, а новичкам стоит обратить на это внимание.
3. Выбрать язык и адекватные методы решения задачи. Есть файлы, есть СУБД. Человек должен как раз научиться оценивать разные способы решения. 10 лет *12 месяцов это 120 строк ну по 20 байт. т.е. 2 кб Это меньше размера блока файловой системы. Развертывать Постгрес для этого? да и в sqlite Размер страницы 2кб. Удобство? Тоже нет. С файлом Одна стока на open и одна на чтение или запись данных. с субд будет сложнее. А примеров в жизни когда реально потребуется субд более чем достаточно.



Офлайн

#5 Дек. 9, 2019 12:26:00

Vladimirv
Зарегистрирован: 2013-03-22
Сообщения: 108
Репутация: +  7  -
Профиль   Отправить e-mail  

Запись/чтение в файл

doza_and
адекватные методы решения задачи
excel - адекватный метод решения.
doza_and
Удобство?
Очень удобно.
doza_and
10 лет *12 месяцов это 120 строк ну по 20 байт. т.е. 2 кб
Влезут 120 строк.
Один файл и т.д. Ну просто не мерено достоинств. Можно пройти на форум домохозяек и поинтересоваться нет ли у них готового файла. Поисковиком, так понимаю, пользоваться не предлагать.

Офлайн

#6 Дек. 9, 2019 12:59:45

also1
Зарегистрирован: 2019-12-06
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись/чтение в файл

Спасибо всем за развернутую дискуссию.
На данный момент лезть в бд мне еще рановато. На своем уровне я все-же достиг, что у меня сохраняется полная история построчно с датой в начале строки.

 ....
2019-12-05 Показание: 130 Оплата: 40.0 Остаток: 2.35 Расход: 10
2019-12-06 Показание: 140 Оплата: 50.0 Остаток: 5.85 Расход: 10
2019-12-07 Показание: 150 Оплата: 50.0 Остаток: 9.35 Расход: 10
2019-12-17 Показание: 160 Оплата: 40.0 Остаток: 2.85 Расход: 10
......

Сейчас пытаюсь сделать возможность обращения по дате, что-бы можно было запросить историю за любой месяц. Я вижу это так:
Преобразовать в словарь {2019-12-17} ключ, и значение { Показание: 160 Оплата: 40.0 Остаток: 2.85 Расход: 10}
При вызове по ключу-вывод значения.
И дальше уже можно будет насоздавать еще кучу разных отчетов по срезам.

Офлайн

#7 Дек. 9, 2019 15:02:42

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Запись/чтение в файл

doza_and
UML диаграмму
АГА (=
вы что за мной следите?

неделю эту тему мучаю. вобще стоящая тема?
там вроде даже кодогенерация .. есть
и по заявлениям кххм разработциков UML мол можно 80-90% на нем кода запилить
опять же под все ООП платформы
в общем прям чудо обещают
если пользовали поделитесь опытом че как
also1
Спасибо всем за развернутую дискуссию
Луттц пограмирование на python4 издание том 1 часть 1
кста как раз ваш случай (сейчас читаю)



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Дек. 9, 2019 15:12:19)

Офлайн

#8 Дек. 9, 2019 16:11:35

also1
Зарегистрирован: 2019-12-06
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись/чтение в файл

AD0DE412
Луттц пограмирование на python4 издание том 1 часть 1
кста как раз ваш случай (сейчас читаю)
Уже читаю, плюс лекции Тимофея Хирьянова, плюс http://egoroffartem.pythonanywhere.com/course/python/

Офлайн

#9 Дек. 9, 2019 21:07:16

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Запись/чтение в файл

AD0DE412
вобще стоящая тема?
От вашей работы зависит. Для 90 процентов участников форума думаю совершенно не стоящая. Нужна наверное в больших командах или больших проектах. Или если психологически вам графики ближе. Мне обычно ближе псевдокод.



Офлайн

#10 Дек. 10, 2019 03:32:30

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

Запись/чтение в файл

AD0DE412
неделю эту тему мучаю. вобще стоящая тема?
Скорее всего, тебе пока рано изучать UML. UML нужен, когда проект становится таким сложным, что в голове не помещается. Вот тогда ты его и выносишь на лист в виде диаграмм и по этому листу работаешь месяцами. И эти диаграммки не на несколько классов, как иногда можно наблюдать в примерах, а на десятки классов, образующих единую систему. Когда мы говорим о классах, мы не имеем в виду UML, а оперируем лишь частью UML - диаграммой классов. В UML есть около десятка видов диаграмм и все что-то дают дополнительное по возможностям описания процессов или структур данных.

Так что можешь изучать UML на будущее, тренируясь в настоящем. Не ленись составлять эти диаграммы - и тогда ты ими овладеешь. Когда они тебе понадобятся уже реально, наличие или отсутствие опыта в их создании будет играть решающую роль в том, напишешь ты программу или будешь ходить только вокруг да около.



Отредактировано py.user.next (Дек. 10, 2019 03:36:24)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version