Code Monkey home page Code Monkey logo

python_paul_first_task's Introduction

Anotace

Tento repozitář vznikl ve snaze zasvětit bývalého spolužáka do problematiky programování

Úkol: Přinesená věc

Do rukou se ti dostal relativně neznámý předmět, který periodický bliká. Nemusíš okamžitě přestřihávat červený drátek, žádný tam snad ani není, ale nebylo by špatné použít nějaké utilitky na zjištění, co z toho chodí. Moc jich není, ale pokud máš okno s PyCharmem, hodilo by se pár věcí, z nichž pyserial hraje prim.

Pro základní diagnostiku stačí udělat infinite loop, asi nějak takhle:

"""... nějaký kód tady nahoře"""
while True:
    if s.in_waiting:
	    print(s.readall())
        time.sleep(0.2)

Při prvotní analýze lze objevit určitá periodičnost, určité znaky se opakují v první řadě je ale nutno podotknout, že \xXY nejsou 4 znaky, ale jeden byte, pro nějž není v ascii tabulce znaků známý znak (potřeba si to spojit s těmi hexadecimálními čísly pro známé znaky).

Na cestě analyzováním je třeba si dohledat jednotlivé komponenty. Nejjednodušší je hledat podle nejvýraznějšího textu na celku, případně jej pak vystavit během měření/testování odlišným podmínkám. Pomocí tohoto lze snadno analyzovat co může být výstupem a podle toho se zařídit v oblasti datových typů (unsigned / signed int, float, character, String), protože i když s nimi v Pythonu nepracujeme přímo, neznamená to, že nejsou.

Máme-li odzkoušeno, které prvky se ve zprávě mění a které zůstávají, je pak poměrně snadné si zprávu rozkládat. Vvhodný pro toto použití je struct, Ten je vhodný pročíst, nebo se zaměřit na kladné funkce (pack), od "un" funkcí očekávat opak a u funkcí se stejným kořenem (pack_into, unpack_from) očekávat podobný proces jako od těch, z nichž je kořen vypůjčen.

Máme-li jistou teorii, pojďme ji zkusit, co to může stát? Pár minut! Místo printění readallu se zaměříme na tisknutí jiné věci, která by mohla být podstatně čitelnější.

data = mystery_namespace.mystery_function('=formát', s.readall())
print(data)

Máme-li objasněno, jak se příslušná data chovají, úspěch! Nyní je na řadě s nimi nějak pracovat. Rychle zde odložím jenom pár tipů.

  • Ukládat
    • csv soubory
    • databáze
      • sqlite3
        • její navrhnutí je zajímavá zkušenost, doporučuji externí nástroj pro tvorbu databází (z. B. SQLite Studio)
      • firebase (nemám odzkoušenou, zkušenost pro tebe)
  • Vizualizovat
    • grafy
      • pandas
      • Matplotlib (odzkoušeno)
    • aplikace
      • tkinter
        • poté existuje pygubu, které je pro tvorbu aplikací přes pygubu-designer stylem drag and drop, vybereš si druh komponentu, dáš mu specifickou pozici, zařazení a jedeš.
      • Qt
      • wxPython
      • EasyGUI
      • pygame
    • práce s webem

Nutno říct, že je poté v podstatě jedno, jak s danou zkušeností naložíš, zda vytvoříš domácí síť, hru ovládanou pomocí toho či že to necháš ležet na poličce, vše je od objasnění problému na tvé kreativitě.

python_paul_first_task's People

Contributors

lotricekcz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.