Dodaj wpis w tym temacie
Spis tematów | Strona: 1 2 Wyślij wiadomość do admina |
Przewiń wpisy ↓ | Python - niedzielna szkółka programowania |
2018-04-26 (21:31)![]() Data rejestracji: 2010-10-12 Ilość postów: 408 ![]() | wpis nr 1 164 667 [ CZCIONKA MONOSPACE ] Witam. Zaczynam temat - kurs programowania w python, gdzie wszyscy początkujący i zainteresowani tym językiem będa mogli zrobić pierwsze kroki w programowaniu. Jest to łatwy język z wielką masą bibliotek zewnętrznych z niskim progiem wejścia. A przede wszystkim zastąpicie Basica którego używacie do swoich programów prognostycznych. Nie mam przemyślanej strategii i kierunku tych lekcji, więc będą to może wycinki kodów i pomysłów powiązanych ze sobą lub nie. Lekcja 1. Środowisko programistyczne wstepniak Generalnie najlepiej w programowaniu jako środowisko polecam Linuxa: Debian, Ubuntu lub Mint. Oczywiście Windows też się do tego nadaje, a szczególnie teraz gdy w Windows 10 możemy "w środku " zainstalować Linuxa i w konsoli używać komend linuxowych. Python działa na każdym systemie, wiec tak samo uruchomisz go pod linuxem i windowsem. Niestety pod Windowsem mogą pojawić sie problemy z przygotowaniem środowiska do działania skryptów. Po prostu pod Linuxem wszystko działa sprawnie raczej z marszu. Instalacja Pythona pod Windowsem. https://www.python.org/downloads/ Pod Linuxem jest już zaintalowany. W czymś trzeba pisać te linijki kodu, do tego wystarczy zwykły notatnik ![]() Swoją naukę programowania zaczynałem używając notepad++, dziś już wiem że to był hardcore ![]() Każde oprogramowanie ma w sobie zestawy wtyczek pluginów które wzbogacają i ułatwiają pisanie kodu w w wybranym języku. Poniżej lista środowisk programistycznych, które polecam. Sublimetext 3 (linux,windows) - mój ulubiony https://www.sublimetext.com/ Vim (linux)- najmniej ulubiony ![]() ![]() Atom (linux,windows) - zbudowany na silniku chromium, podobny do sublimetext https://atom.io/ NetBeans (linux, windows) - 2 środowisko gdy zaczynałem naukę programowania, obecnie już nie używam. VisualCode (linux, windows) - podobne do sublime, masa wtyczek ... https://code.visualstudio.com/ PyCharm (linux,windows) - rozbudowane IDE https://www.jetbrains.com/ Programując w pythonie ważne jest by trzymać się odstępów / wcieć. Jest to plus jak i minus w tym języku. Początkujący będą przeklinać gdy trudno będzie utrzymywać odpowiednie odstępy. Konfiguruje sie odpowiednio środowisko, które automatycznie robi wcięcia. Zmusza to też do czytelniejszego / ładniejszego pisania kodu. Nie ma sensu kopiować tu masy początkujących kursów o składni języka, ale na pewno trzeba to sobie przyswoić. Na tę chwilę to tyle, ciekaw jestem czy po takim zaczepnym temacie ktoś spróbuje poświęcić czas na pythona i zainstaluje sobie jakieś IDE i popełni swoja pierwszą linijke kodu: <code> jakas_zmienna = "Hello, world" print "%s" % jakas_zmienna </code> |
2018-04-26 (22:12)![]() Data rejestracji: 2016-01-16 Ilość postów: 553 ![]() | wpis nr 1 164 690 [ CZCIONKA MONOSPACE ] te0dor, zagraj w totka, bo odgadujesz moje najsekretniejsze potrzeby ![]() Dorzucam od siebie: http://www.python.rk.edu.pl/w/p/podstawy/ Mam problem z mobilizacją do pythona, więc może z lekkim dopingiem będzie łatwiej ![]() |
2018-04-29 (18:54)![]() Data rejestracji: 2008-10-13 Ilość postów: 20531 ![]() | wpis nr 1 165 162 [ CZCIONKA MONOSPACE ] te0dor, ja jestem gotów. A co z kompilacją skryptu. ![]() Pozdrawiam |
2018-04-30 (02:13)![]() Data rejestracji: 2015-02-23 Ilość postów: 1622 ![]() | wpis nr 1 165 231 [ CZCIONKA MONOSPACE ] teOdor Fajny temat. Dla zainteresowanych fajna książka: Python. 14 twórczych projektów dla dociekliwych programistów. Autor: Venkitachalam Mahesh. Są i inne. Sporo tego. Co do totka. Przedzierając się po różnych publikacjach można sobie coś w głowie poukładać. Czy to będą sieci neuronowe, rachunek prawdopodobieństwa i inne rzeczy, zawsze można utworzyć scalak łączący to wszystko. Python? Otwarta droga. Czy ma wszystkie funkcje? Nie wiem. Jeżeli coś rozkminie, to dam znać. Szczerze. Zależy mi na kasie. Choć z innej strony chciałbym roz...przyć to ustrojstwo zwane totkiem. Dla czystej satysfakcji. Głupia przypadłość. Tak mam. Pozdrawiam |
2018-04-30 (12:59)![]() Data rejestracji: 2008-10-13 Ilość postów: 20531 ![]() | wpis nr 1 165 304 [ CZCIONKA MONOSPACE ] te0dor, kiedy będzie lekcja 2. Zeolit, te0dor czyta się - te zero dor. --- wpis edytowano 2018-04-30 13:02 --- |
2018-05-01 (23:51)![]() Data rejestracji: 2010-10-12 Ilość postów: 408 ![]() | wpis nr 1 165 630 [ CZCIONKA MONOSPACE ] Witam znowu, 3 zainteresowanych hoho, to całkiem sporo, tylko co teraz ? Powinniśmy sobie postawić jakiś cel ... hmm ... rozwalić lotto O tak, ale niestety się nie da, za duży przekręt i nie tacy jak my próbowali. Co najwyżej możemy trochę pomarnować czas analizując numerki. Mnie osobiście ciekawi temat EuroJackPot. Wiadomo, wszyscy oszukują, Polska od niedawna jest w EuroJackPot a tu nagle sporo trafień w naszym kraju. No po prostu opatrzność boska. To co w innych krajach przestali grać ? Nasze lotto to wałek, bo dlaczego jeszcze nie ma lotto przez net ? bo nie potrzebne będą stoiska z kuponami rozsiane po całej mapie Polski ? no wzór naśladowania praca dla tysięcy osób. Wg mnie totki boją się gry przez Internet bo przez net ludzie znajdą sposób na wyciąganie kasy tak że będzie im bardziej malało niż rosło ... no ale wtedy wprowadzą inny regulamin i zakręcą kurek. Takie moje prognozy co do naszego lotto. Po 2, automaty składające kupony są szybsze od ludzi i już tu systemy będą mogły przynieść realne rezultaty. Żeby było ciekawie i może pożytecznie przeanalizujmy te EuroJackpot czy jest tam jakiś szyfr schemat , jakaś sensowna powtarzalność lub wielka kupa Totalna amatorka, ale spróbujmy sprawdzić "temperature" losowanych numerów i na jej podstawie dobierzemy numery na nastepne losowanie. w 49s sprawdzało się bardzo ciekawie. Ale wiadomo, tam oszukują mniej lub wcale. Albo dają wygrać ludziom, nie to co u nas. Co będzie nam potrzebne: 1. Ulubiony system operacyjny i edytor, wybieram linux i coklowiek, może byc vim, lub darmowy Atom 2. Musimy mieć źródło z wynikami losowań, albo jakąś zbiorczą bazę. 3. Wymyślić hipotezę i napisać algorytm doboru numerków (temperatura liczb) Ale zanim to wszystko musimy przygotować środowisko virtualne dla naszego projektu. Zakładam że robicie to w linuxie. Pod windowsem można zainstalowąć wirtualny system pod VirtualBoxem, sciagamy Ubuntu, czy Mint i instalujemy z obrazu. na Youtubach poełno tego jak zainstalować https://www.virtualbox.org/ Gdy już mamy odpalonego linuxa, otwieramy terminal, czyli konsole. W linuxie dość często pracuje się w konsoli. Tworzymy folder dla naszego programu: mkdir jackpot_prognozer i wchodzimy do środka cd jackpot_prognozer Instalujemy kilka bibliotek jako root, pod linuxem to taki super admin co ma dostęp do wszystkiego. Powinien być tworzony na początku instalacji linuxa, wiec hasło do niego znacie [sudo] apt install python-pip instalujemy jako root to co pod linkiem: https://virtualenv.pypa.io/en/stable/installation/ [sudo] pip install virtualenv To co powyżej to taka biblioteka która tworzy virtualne środowisko specjalnie dla każdego projektu oddzielnie w wybranym katalogu. Po to by wszystkiego nie instalować do systemu, bo być może każdy projekt bedzie wymagał innych wersji różnych bibliotek. No nic, tak byc musi, Gdy już virtualenv zainstalowaliśmy i jesteśmy w katalogu projektu wpisujemy komendę: Wszystkie komendy wykonujemy z głównego katalogu projektu !!!! przykładowa linijka z konsoli te0dor@linux ~/jackpot_prognozer $ virtualenv env_prognozer powinno pojawic sie cos takiego Running virtualenv with interpreter /usr/bin/python2 New python executable in /home/te0dor/jackpot_prognozer/env_prognozer/bin/python2 Also creating executable in /home/te0dor/jackpot_prognozer/env_prognozer/bin/python Installing setuptools, pkg_resources, pip, wheel...done. Komenda ls - pokarze że powstał folder a w nim różności które nas nie beda interesowały Nastepnie musimy aktywować te powstałe środowisko komendą : source env_prognozer/bin/activate wtedy zobaczymy w konsoli przed nazwa użytkownika aktualne aktywne środowisko (env_prognozer) te0dor@linux ~/jackpot_prognozer $ instalujemy biblioteki pomocne w pracy http://docs.python-requests.org/en/master/ pip install requests https://www.crummy.com/software/BeautifulSoup/bs4/doc/ pip install beautifulsoup4 pierwsza biblioteka pozwoli wykonywac zapytania (jak przeglądarka) druga biblioteka pomoże nam wybierać informacje ze stron te dwie powyższe biblioteki sa potrzebne gdy nie mamy wyników EuroJackPot, a nie mamy ? Jeśli wyniki mamy możemy zająć sie konstuowaniem naszego programu, musimy opracować metody które coś będa wykonywały i zamknąć to w klase naszego programu. Przy okazji liźniemy programowania obiektowego w pythonie, Więc potrzeba nam wyników ... cdn --- wpis edytowano 2018-05-01 23:54 --- |
2018-05-02 (00:14)![]() Data rejestracji: 2015-02-23 Ilość postów: 1622 ![]() | wpis nr 1 165 632 [ CZCIONKA MONOSPACE ] te0dor Czy masz może makro w Pythonie co pobiera wyniki ze strony lotto do arkusza kalkulacyjnego. Coś korzystające z biblioteki pyexcel, lub innej. Pozdrawiam |
2018-05-02 (00:19)![]() Data rejestracji: 2015-02-23 Ilość postów: 1622 ![]() | wpis nr 1 165 633 [ CZCIONKA MONOSPACE ] te0dor A tak z innej beczki. Czy masz jakiś algorytm co by wypluł te liczby. Zarys, metodę. No generalnie pomysł. Pytam z ciekawości. Bo obcy program tego nie da. No taka przypadłość. Pozdrawiam |
2018-05-02 (00:27)![]() Data rejestracji: 2010-10-12 Ilość postów: 408 ![]() | wpis nr 1 165 636 [ CZCIONKA MONOSPACE ] W tym małym kursie chce rozpisać jak se pobrac te wyniki, chyba że mamy gotowa baze, to przejdziemy do robienia algorytmu doboru wg temperatur itp. A jeśli nie mamy trzeba by napisać te jak określiłeś "makro" by pobierało wyniki. Mam 49s i nasze Keno baze wyników aktualizowaną co 1 minutę Baza jeckpot na naszym lotto jest nie pełna, wiec trochę szkoda czasu pisac kod pod nasze lotto. Znacie link do losowan EuroJackPot pełnej bazy ? Tak pomysł mam na algorytm : ciepłe zimne liczby - kompletna bzdura ale można sprawdzić ![]() --- wpis edytowano 2018-05-02 00:28 --- |
2018-05-02 (00:30)![]() Data rejestracji: 2007-04-03 Ilość postów: 41774 ![]() | wpis nr 1 165 637 [ CZCIONKA MONOSPACE ] teOdor>> tu masz opcje PDF, XLS i TXT w archiwum losowań tej gry: http://www.lottology.com/europe/eurojackpot/?do=past-draws-archive --- wpis edytowano 2018-05-02 00:32 --- |
2018-05-02 (00:33)![]() Data rejestracji: 2010-10-12 Ilość postów: 408 ![]() | wpis nr 1 165 638 [ CZCIONKA MONOSPACE ] dzięki edi, a i znalazłem stronę skąd można by pobierać https://www.euro-jackpot.net/pl/archiwum-wynikow-2018 |
2018-05-02 (00:35)![]() Data rejestracji: 2015-02-23 Ilość postów: 1622 ![]() | wpis nr 1 165 639 [ CZCIONKA MONOSPACE ] te0dor Jeszcze odnośnie liczb. Czy chcesz je wyznaczać na podstawie temperatury? Gorące, zimne? Czy to ma być odpowiedni wyznacznik co padnie? Głupie kryterium. No ale jakieś. Nie chce mi się sprzedawać "modus operandi" na temat kulek. Wolałbym sam to zobaczyć. |
2018-05-02 (00:39)![]() Data rejestracji: 2015-02-23 Ilość postów: 1622 ![]() | wpis nr 1 165 640 [ CZCIONKA MONOSPACE ] te0dor No można sprawdzać. Po to są algorytmy żeby je badać. Tylko wątpię aby ciepłe i zimne dały odpowiedni wynik. Sceptycyzm mi się włączył. Pozdrawiam |
2018-05-02 (01:00)![]() Data rejestracji: 2010-10-12 Ilość postów: 408 ![]() | wpis nr 1 165 641 [ CZCIONKA MONOSPACE ] to i tak zabawa chce wdrożyć taka metode poszukiwań, jak opisana 10 lat temu na forum ![]() https://forum.idg.pl/topic/82878-makra-i-funkcje-lotto-w-excelu/#entry763213 |
2018-05-03 (01:51)![]() Data rejestracji: 2015-02-23 Ilość postów: 1622 ![]() | wpis nr 1 165 833 [ CZCIONKA MONOSPACE ] te0dor I tak jestem podziwu, że Ci się chce. Ale czy pomysł Arka76 będzie trafny? Arek udzielał się tu na forum. Jednak czy jego myśl się sprawdzi? Z mojej strony. Obecnie mam inne formy zarobkowe. Jednak strzał dużej gotówki dużo by zmienił. Nie wiem czy to forum tak ma. Czasem zniechęca. Czasem niszczy. Ale czasem daje pomysł. Nawet nie na grę. Dziwne. Daje pomysły na inne programy. No i znowu zaczynają się schody. Bo programy mogą dać 5mln euro, 20mln euro, 100mln euro itd.. Kasa o Niebo większa, niż analiza Totka. Co wybrać? Totalne jaja. te0dor Czasami się zastanawiam? W co brnąć? Python? Uczcie się go. Jak każdego języka programowania. Jednak do tego dołączcie inną dziedzinę wiedzy. Jedno + drugie. Wymierny sukces murowany. Sam mam znajomego, co na własnym sofcie trzepie przyzwoitą kasę. Dom, rodzina itp. Czasem głupi pomysł a daje więcej satysfakcji niż nie jedna wygrana. Finansowo. Bo czy milion w jeden dzień, miesiąc, rok? I tak to dla niektórych kosmos. Pozdrawiam |
2018-05-03 (02:04)![]() Data rejestracji: 2010-10-12 Ilość postów: 408 ![]() | wpis nr 1 165 834 [ CZCIONKA MONOSPACE ] #!/usr/bin/python # -*- coding: utf-8 -*- import os import requests import sqlite3 from datetime import datetime from sqlite3 import Error DATABASE_DIR = 'bazy' DATABASE_FILENAME = 'euro-jackpot.db' ARCHIVE_DATA_LIST = [2012, 2012, 2013, 2014, 2015, 2016, 2017, 2018] DATABASE_CSV_FILENAME = 'euro-jack-pot.csv' class EuroJackPot(object): """docstring for EuroJackPot""" def __init__(self, config={}): # super(EuroJackPot, self).__init__() self.config = config self.create_database() if self.config['aktualizacja']: print "Trwa pobieranie wyników i przygotowanie bazy" self.download_results() self.save_results() def create_connection(self, db_file=None): """ create a database connection to a database that resides in the memory """ path = os.path.dirname(os.path.abspath(__file__)) path = "%s/%s" % (path, db_file) try: conn = sqlite3.connect(path) return conn # print(sqlite3.version) except Error as e: print(e) conn.close() return None def run_sql(self, conn, sql, data=None, many=False): try: c = conn.cursor() if data: if many: c.executemany(sql, data) else: c.execute(sql, data) else: c.execute(sql) conn.commit() return c.fetchall() except Error as e: print(e) conn.close() return None def clear_database(self): conn = self.create_connection(DATABASE_FILENAME) if conn is not None: self.run_sql(conn, """ DROP TABLE draws; """) conn.close() else: print("Error! cannot clear_database.") def create_database(self): draw_table_sql = """ CREATE TABLE IF NOT EXISTS draws ( id integer PRIMARY KEY, draw_date varchar(10) NOT NULL, n1 integer NOT NULL, n2 integer NOT NULL, n3 integer NOT NULL, n4 integer NOT NULL, n5 integer NOT NULL, ne1 integer NOT NULL, ne2 integer NOT NULL ); """ conn = self.create_connection(DATABASE_FILENAME) if conn is not None: self.run_sql(conn, draw_table_sql) conn.close() else: print("Error! cannot create the database connection.") def insert_database(self, sql, data, many=False): conn = self.create_connection(DATABASE_FILENAME) if conn is not None: self.run_sql(conn, sql, data, many) conn.close() else: print("Error! cannot create the database connection.") def download_results(self): for year in ARCHIVE_DATA_LIST: url = 'http://www.lottology.com/europe/eurojackpot/?do=past-draws-archive&tab=&as=TXT&year=%s&group_num_selector=selected&numbers_selector_mode=add&numbers_selected=' % year response = requests.get(url) if response.status_code == 200: response.raw.decode_content = True data = response.content path = "%s/euro-jack-pot-%s" % (DATABASE_DIR, year) with open(path, 'w') as file: file.write(data) def save_results(self): """ Zapisuje wyniki do bazy sqlite3 i pliku CSV. """ draws_base = [] for year in ARCHIVE_DATA_LIST: #:1 path = "%s/euro-jack-pot-%s" % (DATABASE_DIR, year) with open(path, 'r') as file: lines = reversed(file.readlines()) for line in lines: try: parts = line.split('\t') draw_date = datetime.strptime(parts[0].strip(), '%d %B %Y').date() n1 = parts[1].strip() n2 = parts[2].strip() n3 = parts[3].strip() n4 = parts[4].strip() n5 = parts[5].strip() ne1 = parts[6].strip() ne2 = parts[7].strip() draws_base.append((str(draw_date), int(n1), int(n2), int(n3), int(n4), int(n5), int(ne1), int(ne2))) except ValueError: pass path = "%s/%s" % (DATABASE_DIR, DATABASE_CSV_FILENAME) self.clear_database() self.create_database() with open(path, 'w') as file: file.write('') sql = 'insert into draws(draw_date,n1,n2,n3,n4,n5,ne1,ne2) values (?,?,?,?,?,?,?,?)' self.insert_database(sql, draws_base, True) for draw in draws_base: with open(path, 'a') as file: file.write("%s\n" % ';'.join(map(str, draw))) config = { 'aktualizacja': True, 'ilosc_losowan_do_analizy': 100, 'ilosc_losowan_wstecz': 10 } euro = EuroJackPot(config) |
2018-05-03 (02:13)![]() Data rejestracji: 2010-10-12 Ilość postów: 408 ![]() | wpis nr 1 165 835 [ CZCIONKA MONOSPACE ] cześć pierwsza programu: Pobieranie wyników i tworzenie odpowiednich plików bazowych i zwykły CSV a poniżej wszystko spakowane http://catshare.net/4pkaMpWK5wGwJXth/euro-prognozer.zip |
2018-05-03 (02:53)![]() Data rejestracji: 2015-02-23 Ilość postów: 1622 ![]() | wpis nr 1 165 836 [ CZCIONKA MONOSPACE ] te0dor Napisałeś, że chcesz rozkminiać EuroJackPot. A czy masz może pomysł na makro ( python ) pobierające dane z naszego rodzinnego lotto. Wszystkie wyniki mini, dużego itp. Format csv, excel itp. Czasami nachodzi mnie taka refleksja. Czy na podstawie tych wszystkich doświadczeń, spostrzeżeń, nie dałoby się zrobić coś innego. Kasa podobna, a może większa. Pomysły? A różne. Socjotechnika, psychologia, data mining i inne formy. Informacja, wiedza itp. Fake news? A może na odwrót. Filtr? Pomysły? Kasę można trzepać w różny sposób. Jednak kurs nauka pythona każdemu pomoże. Szacun. Kilka pozycji: Python. Wprowadzenie. Wydanie IV Autor: Mark Lutz Python. Instrukcje dla programisty Autor: Eric Matthes Python. Uczenie maszynowe Autor: Sebastian Raschka Python. Podstawy nauki o danych. Wydanie II Autorzy: Alberto Boschetti, Luca Massaron Python. 14 twórczych projektów dla dociekliwych programistów Autor: Mahesh Venkitachalam i pełno innych wydań. Czasem w jednej książce jest coś opisane, w innej ubrane to coś w inne słowa. Czasem inna metoda, sposób. te0dor: Zastanów się. Czy nie dałbyś rady napisać programu, który dałby Tobie kasę inną niż z Totka. Wredne pytanie. Wiem. Ale czasem rozkminiając jeden temat natrafiasz na inny. No i powstaje dylemat. KASA, KASA, KASA itd. Pozdrawiam |
2018-05-03 (10:47)![]() Data rejestracji: 2010-10-12 Ilość postów: 408 ![]() | wpis nr 1 165 884 [ CZCIONKA MONOSPACE ] pewnie ze dam rade. a maaz zlecenie na program ? 😉 wystawiam fakture vat. |
2018-05-04 (23:27)![]() Data rejestracji: 2010-10-12 Ilość postów: 408 ![]() | wpis nr 1 166 222 [ CZCIONKA MONOSPACE ] Zatem analiza losowań przy konfiguracji config = { 'aktualizacja': False, 'ilosc_losowan_do_analizy': 100, 'ilosc_losowan_wstecz': 1, 'symulacja_dla_ilu_losowan_wstecz': 100 } https://snag.gy/a9yLcx.jpg ![]() numery sa prognozowane na nastepne losowanie, i ustawione wg temperatury od gorącej do zimnej. zanzaczone na zielone to te ktore sa wylosowane w danym losowaniu. czy można cos tu dostrzec ? można by brać pewną część ciągu (koniec lub początek) i tylko stamtąd wybierać numery na losowanie. Aha, brane pod uwagę sa tylko 5 pierwszych numerów --- wpis edytowano 2018-05-04 23:34 --- |
| Dodaj wpis w tym temacie | Spis tematów | Wyniki lotto | Strona: 1 2 Wyślij wiadomość do admina |