Форум сайта python.su
Здравствуйте! Я совсем новичок. Прошу помощи - в каком направлении мне двигаться.
Есть такая задача:
Представим себе огромную табличку. Столбцы - это температура, строки это название пробы, на пересечении вязкость пробы при заданной температуре.
Создать программу, чтобы там открывались поля, куда мы записываем название пробы, температуру, значение вязкости и все это вносится в такую таблицу, при этом фиксируется дата, когда вносились данные.
Если данное значение вязкости в таблице уже было, то старое не должно стираться, а сохраняются все значения.
Далее можно выполнять поиск: ввести в поле название пробы, температуру, и появится вязкость - последнее значение. Также можно просмотреть и старые значения, если есть.
Еще возможность ввести название пробы, и чтобы вывелись вязкости при всех температурах, которые имеются для этой пробы.
Еще чтобы через заданный промежуток времени, значение вязкости выводилось , но автоматически помечалось как неактуальное (например, цветом).
Смысл в том, чтобы не искать вручную данные в огромной таблице, а выводить нужную часть данных по поиску.
Далее планируется еще ряд расширений данной программы, но хотелось бы начать хотя бы с этого.
Подскажите, пожалуйста, с чего начать, что лучше использовать для решения такой задачи.
Отредактировано sandra005 (Март 5, 2021 08:42:38)
Офлайн
sandra005с Екселя? я лично не вижу тут ничего что нельзя было бы реализовать через ексель или его аналоги.
Подскажите, пожалуйста, с чего начать, что лучше использовать для решения такой задачи.
[code python][/code]
Отредактировано PEHDOM (Март 5, 2021 09:28:34)
Офлайн
Таблица в ексель слишком громоздкая, с ней работать неудобно.
И вторая цель данной задачи - повышение моего уровня работы с Питон.
Офлайн
Да, я планирую еще много чего туда добавить.
Офлайн
sandra005ну тогда начните с изчения работы с встраиваемыми БД, сгодиться любая встраиваемая БД: SQLite, Firebird и тд… как создавать таблицы, как добавлять записи, как искать…
И вторая цель данной задачи - повышение моего уровня работы с Питон.
[code python][/code]
Отредактировано PEHDOM (Март 5, 2021 09:32:22)
Офлайн
PEHDOM так ему/ей еще GUI нужен как ой то
а это отдельная песня
мм … sandra005 ну очень похоже на ваш случай
Марк Лутц. Программирование на Python. Том 1 Часть I
ну и см. выше еще
ps ссылка как ая то глюычная … была
исправлено
Отредактировано AD0DE412 (Март 5, 2021 11:53:01)
Офлайн
AD0DE412Ну накидать на форму контролов дело нехитрое, а вот кривой запрос к БД, способен уложить целый кластер. НО вообще да, начать с Лутца хорошая идея.
PEHDOM так ему/ей еще GUI нужен как ой то
[code python][/code]
Офлайн
Для новичка учить sqlite,Qt?
Начните с элементарных типов данных и простейших файловых операций.
Потренируйтесь делать на питоне функции которые реализуют ваши запросы.
Потом можно будет сделать что запросы из файла читаются как в SQL по пути вы сами на большинство своих вопросов ответите.
import datetime import pickle from collections import defaultdict import os data_file = "some_talbe.pkl" # если данных нет создаем пустые если есть читаем if os.path.exists(data_file): with open(data_file,"rb") as f: data = pickle.load(f) else: data=defaultdict(list) # изменения можно записывать или отменять def save(): with open(data_file,"wb") as f: pickle.dump(data,f) # реализуйте ваши хотелки в виде отдельных функций def add(sample_name:str, temperature:int, v:float): """добавление измерения""" t=datetime.datetime.now() data[(sample_name,temperature)].append((t,v)) def find_by_sample_t(sample_name:str, temperature:int): return data[(sample_name,temperature)] ....
Отредактировано doza_and (Март 5, 2021 14:06:30)
Офлайн
sandra005Вот это “хотя бы это” ты даже близко не потянешь по реализации. У тебя ложное представление о сложности программы, делающей всё это. Чтобы в этом убедиться, можешь написать программу с одним столбцом, в котором числа сохраняются после ввода так, что при следующем запуске программы те же самые числа находятся на своих местах. Когда ты её не напишешь, приложив при этом кучу усилий для реализации, тогда ты и поймёшь, что ты не знаешь ничего.
Далее планируется еще ряд расширений данной программы, но хотелось бы начать хотя бы с этого.
Подскажите, пожалуйста, с чего начать, что лучше использовать для решения такой задачи.
sandra005Надо учиться последовательно. Если ты ноль, то надо для нулей материалы искать, чтобы стать единичкой. Если ты единичка, то надо для единичек материалы искать, чтобы стать двоечкой. И так далее. Сразу на уровень сто залезть не получится. Это только в кино про Гарри Поттера можно взять волшебную палочку и стать всемогущим. В жизни же реальной оно не так всё работает.
И вторая цель данной задачи - повышение моего уровня работы с Питон.
Отредактировано py.user.next (Март 5, 2021 23:43:17)
Офлайн
Спасибо всем за ответы!
Офлайн