#python

38
107
.
Dzisiaj ruszyły zapisy na Potyczki Algorytmiczne 2024, ogólnopolski, otwarty konkurs programistyczny.


Harmonogram

Rejestracja rozpoczyna się 1 marca 2024 o godz. 12:00.
Runda próbna startuje 5 marca 2024 o godz. 12:00 i kończy się 7 marca 2024 o godz. 23:59.
Rundy zdalne wystartują 11 marca 2024 o godz. 12:00, a zakończą się 17 marca 2024 o godz. 23:59.
Ogłoszenie ostatecznych wyników rund zdalnych nastąpi 19 marca 2024 o godz. 20:00.
Finał odbędzie się w dniach 24-25 maja 2024 w Zielonej Górze.

Warto spróbować, nawet jeśli ktoś tylko trochę umie programować. Zadania i rozwiązania z poprzedniej edycji.

Każdego, kto jest pasjonatem algorytmiki i programowania gorąco zapraszamy do wzięcia udziału w XIX edycji konkursu „Potyczki Algorytmiczne”. Potyczki Algorytmiczne są najstarszym internetowym konkursem algorytmiczno-programistycznym w Polsce, adresowanym do wszystkich – uczniów, studentów, zawodowców i amatorów, bez jakichkolwiek ograniczeń wiekowych. W tej edycji, oprócz rozwiązań w C++, dopuszczamy także rozwiązania w Pythonie.
Rejestracja on-line do konkursu rusza już 1 marca 2024 r.
Potyczki Algorytmiczne w roku 2024 składać się będą z dwóch etapów:
● zdalnego – odbywającego się w dniach od 11 marca do 17 marca 2024 roku;
● wielkiego finału – rozgrywanego w dniach 24 – 25 maja w gościnnych progach współorganizatora konkursu, zielonogórskiej firmy Digital Technology Poland. DTP Ltd. Do finału zostanie zakwalifikowanych 20 zawodników.
Dla najlepszych zawodników czekają nagrody rzeczowe. Dodatkowo 128 uczestników otrzyma kultowe koszulki Potyczek Algorytmicznych 2024 oraz upominki-niespodzianki.

#cpp #python #algorytmy

Jak ktoś ma konto na wykopie, to może tam też opublikować.
Iknifeburncat

O kurczę zajrzę. Dzięki!

Zaloguj się aby komentować

Wczoraj postanowiłem że na starość zacznę się uczyć Pytonga. Wyplulem z siebie najbardziej bezsensowny kod jaki kiedykolwiek napisałem. Otóż podstawa była terminalowa aplikacja do zgadywania liczb (klasyka). Potem zrobiłem z tego mikroserwis wypuszczający API do którego można strzelać JSONami ze zgadywania liczba, i dostać odpowiedź czy się zgasło, do tego użyłem bazy danych żeby tę liczbę zapisywać, i dorobiłem obsługę API-Keys xD

Wiem że kod jest paskudny i pewnie nie spełnia konwencji... Ale co się nauczyłem to moje.

https://gist.github.com/xhc0re/36bd9691d093be16d10e46520fc11bee

#programowanie #python
koszotorobur

@dziki - do robienia REST API w Pythonie polecam FastAPI - niby we Flasku też można - tylko po co

dziki

Nieużywanie popularnych frameworkow? A gdzie się mogę.zapisac?

Zaloguj się aby komentować

Ostatnio zacząłem przeglądać sobie większe programy open-source napisane w pythonie i zerknąłem na lutris.

54000 tysięcy linii napisanych w tym języku i dopiero ostatnio zaczął korzystać z mypy w bardzo podstawowym stopniu.

Zacząłem przeglądać kod jako kompletny outsider i zauważyłem kilka zmiennych których typów nie mogłem wydedukować. Przepatrzyłem miejsca gdzie są odczytywane/zapisywane i jedyne wywnioskowałem że niektóre z nich to dicty, ich klucze to stringi lub czasami tuple a wartości to jakieś nieotypowane zmienne.

Dlaczego, nawet przy tak dużych projektach ludzie wzbraniają się przed używaniem typów?
Przecież brak jasno określonych typów zmiennych rodzi problemy i utrudnia osobom zrozumienie kodu i pomaganie.

Od kiedy w pracy zaczęliśmy korzystać z duetu ruff + mypy strict, ilość błędów znacząco zmniejszyła się i dziwi mnie że duże pythonowe projekty nie korzystają z mypy, choć jest dostępny już kilka/kilkanaście lat i jest potwornie przydatny

#python
#programowanie
848e4c84-1104-4e17-bfca-42e94dfc46c9
szczekoscisk

Podobnie mam z Type Script i "any" lub "object". Dla wyjaśnienia, TS pozwala ale nie wymusza typowanie. Więc mam takie WTF gdy ktoś poświęcił chwilę na wpisanie że coś jest/zwraca "cokolwiek" . Gdzie tu jest jakaś korzyść?

rakokuc

@szczekoscisk jak dobrze pamiętam, to czasami kompilator TS potrafi się przyczepić, że typ jest nieokreślony, więc żeby się nie czepiał to daje się any i fajrant ( ͡° ͜ʖ ͡°)


Przy czym dotyczy to głównie sytuacji, kiedy ktoś używa TS bo jest modny albo mu kazali.

szczekoscisk

Nie kojarzę by sam kompilator TS wymuszał typowanie (przynajmniej na szybko nie kojarzę takich przypadków), możliwe że widziałeś sytuacje gdzie "tslint" czegoś się czepiał.

dotevo

Myślę, że to przez to, że lutris to dość stary projekt, a typowanie w pythonie to jednak coś dość nowego. Pamiętam, że z 10 lat temu używałem już lutrisa.

grzmichuj_gniezno

@qarmin Gdy po kilku dobrych latach z C++ zacząłem w robocie pisać w Pythonie to nie mogłem się odnaleźć i strasznie mi typów brakowało. A później się przyzwyczaiłem i juz miałem wszystko w dupie ( ͡° ͜ʖ ͡°) Może dlatego. W większości przypadków da się (przynajmniej u mnie) typ spokojnie wyczaić z kodu. Raz na ruski rok się nie da i wtedy używam debuggera.

Zaloguj się aby komentować

Użyję tego, to działa wyśmienicie:
https://pypi.org/project/python-ftp-server/

Używam vsftpd, to jest absolutna tragedia, błąd "nieoczekiwany koniec strumienia" zaraz przy pierwszym połączeniu i wejściu na ten serwer.
Nie umiem nic na ten temat znaleźć, błędne może być wszystko i nic. Po prostu nie mam pojęcia.

Czemu natywne rozwiązanie nie może być tak wygodne, jak jakiś skrypt w pythonie?
#python #linux #archlinux #ftp #konfiguracja #configuration
fewtoast

Koledzy na wykop polecili użycie `sshd`, i jest to w sumie najprostsze rozwiązanie.

Zaloguj się aby komentować

TuzZaRogiem

@koszotorobur zwykły Excel xlsx. Jak ręcznie otworze i usunę ten wiersz to otwieram normalnie później. Ale chodzi o to, że one maja się same otwierac

pszemek

@TuzZaRogiem nie możesz po prostu olać pierwszego wiersza? Jakiś skiprow czy coś. Ewentualnie z mojego doświadczenia numpy lepiej sobie radzi z wczytywaniem plików.

Zaloguj się aby komentować

Top python game engines

Python oferuje mnóstwo bibliotek - w tym silników do tworzenia gier - i nadaje się do prototypowania.

Dzięki swoim zaletom i szybkości pisania Python przez lata stał się realnym wyborem dla wielu twórców gier - zwłaszcza tych niezależnych.

#technologia #programowanie #python #gamedev
29766963-3597-4aaa-b08c-13305bee88ec
Prucjusz

Pyton to język, który przybył do nas z odległej przyszłości i na który nie zasługujemy. Można zaryzykować stwierdzenie, że jest jak rdest: da się z niego zrobić wszystko.

koszotorobur

@Prucjusz - znaczy jak konopia?

Prucjusz

@koszotorobur chciałem być zabawny i nawiązałem do kapitana Bomby.


https://youtu.be/VqUnwcUYZjo?si=kmSF_L-b2SeVE3e_

Zuorion

Z tymi silnikami gier to półprawda. Ta, obsługują czesto go do skryptów natzedzi itp. ale całych gier afaik nie ma lub to sztuka dla sztuki, tak jak kajiya w ruscie.

Catharsis

@koszotorobur Niestety ale tworzenie gier w Pythonie to raczej ciekawostka. Praktycznie nie ma żadnej dużej gry w tym zrobionej, tylko jakieś same pomniejsze tytuły i to jest rzadkość. Pythona używa się jedynie szczątkowo przy produkcji gier. I jak sobie wpiszecie w google "gry napisane w pythonie" to wyjdzie wam kilka produkcji ale te gry to jedynie używają paru skryptów pythona do czegoś a jako główny język są napisane w czymś innym.

17356e8b-1280-4584-94d9-51c382f0fe40
koszotorobur

@Catharsis - napisanie prostych gier w "czystym" Pythonie może być dobrym wprowadzaniem do robienia poważniejszych projektów - na przykład kto zna Pythona odnajdzie się bez problemu w silniku Godot, który używa pythonopodobnego GDScript.

Catharsis

@koszotorobur Problem w tym, że w samym godocie też prawie nic nie powstało xd: https://godotengine.org/showcase/

Tera dopiero po tej aferze z Unity coś tam ruszyło, widziałem dostawali dofinansowania od jakiś studiów itp ale szczerze wątpie żeby godot się stał jakiś bardzo popularny, niestety.

Zaloguj się aby komentować

100 Days of Python

100 praktycznych zadań do ćwiczenia Pythona.

#technologia #programowanie #python
77a1bcfa-02de-49f9-a98b-721f1cb3dddd
Guma888

Taktyczny wąż na zastaw ćwiczeń Pythona

koszotorobur

@Guma888 - Pytonga trzeba ćwiczyć regularnie!

Guma888

Dla mnie to będzie nauka dopiero.

koszotorobur

@dawid-grabarz - elektryzujący Python

Zaloguj się aby komentować

Poradnik jak dokonać migracja z modułu pytz do modułu zoneinfo:

https://pytz-deprecation-shim.readthedocs.io/en/latest/migration.html

Moduł zoneinfo został dodany do biblioteki standardowej w Pythonie 3.9 - jeśli dalej używasz modułu pytz do obsługi stref czasowych to zalecana jest migracja do zoneinfo.

#technologia #programowanie #python #pytz #zoneinfo
813f06a6-759c-46f6-86f2-2dbe63716d9b

Zaloguj się aby komentować

Catharsis

Yo generalnie to na githubie to prawie do wszystkiego jest takie repo. Wpisujecie interesującą was frazę np język programowania, nazwę systemu, menagera okien itp + "awesome" i macie czasem nawet kilka wyników. Przykłady: awesome-nodejs awesome-kde awesome-hyprland czy najzabawniejsze awesome-awesome-wm (bo jest coś takiego jak awesome-wm xD).

GrindFaterAnona

@Catharsis uuu dzięki

Zaloguj się aby komentować

Krótkie video porady na temat Pythona:

https://www.youtube.com/@b001/shorts

Bo czasami lepiej zobaczyć na własne oczy by zrozumieć

#programowanie #python #tipsandtricks
piotrb

Z takimi sztukami warto uważać bardzo, np. sztuczka przypisania globala do locala fajna, ale promuje złe praktyki.

koszotorobur

@piotrb - ze wszystkimi poradnikami i tutorialami trzeba uważać i patrzeć na nie krytycznie

Niemniej dużo tych porad w tych filmikach to po prostu standardy pythonowe, które nie są oczywiste dla początkujących oraz ludzi przechodzacy z innych języków.

Ja osobiście nie znalazłem źródła 100% poprawnego - prócz może oficjalnej dokumentacji, która jest blisko, ale nie jest jednak skondensowanym źródłem wiedzy do uczenia się "na szybko".

Zaloguj się aby komentować

Harvard CS50’s Introduction to Programming with Python – Full University Course

Jedynie 15 godziny kurs Pythona od jednego z najlepszych uniwersytetów na świecie.

Bo jak się uczyć - to od najlepszych!

#programowanie #python #harvard #cs50
koszotorobur

@konrad1 - nie z Harvardu ale z tego samego kanału na YouTubie: https://youtu.be/A74TOX803D0?feature=shared

konrad1

@koszotorobur thx :D

Vuaaas

@koszotorobur To CodeCamp? Dlaczego oni to wstawili a nie Harward? (Tak jak MIT wstawia na swój kanał?)

koszotorobur

@Vuaaas - sprawdź kanał Harvardu i daj znać czy wstawili.

Vuaaas

@koszotorobur Nah

Zaloguj się aby komentować

Jak nauczyć nastolatka Pythona?

Nie szukam teoretycznych informacji bo to sam jestem w stanie sobie znaleźć.

Szukam praktycznych rad i opinii osob które mają doświadczenie w uczeniu programowania młodych osób - nawet jeśli odnieśli porażkę to mogą być w stanie poradzić czego nie robić/unikać.

Hejto pomóż!

#programowanie #python
koszotorobur

@psalek - to wygląda bardzo obiecująco jako zadania domowe - dzięki!

wombatDaiquiri

@koszotorobur to zależy czego chcesz nauczyć.


Przygotowanie do olimpiady informatycznej to jest jakaś opcja i UW ma dużo materiałów na ten temat oraz są dostępne zadanka https://szkopul.edu.pl/p/default/problemset/oi/19


Ja w tym wieku jak się uczyłem sam to chyba najprostsza była logomocja (z żółwiem) bo było widać gdzie się znajduje żółw po odpaleniu programu i co skopałem. Też są jakieś zawody, ale tu byś musiał poszukać.


No chyba że dzban, to mu pokaż Django i niech klepie CRUDy aż mu się znudzi xD

koszotorobur

@wombatDaiquiri - olimpiady to nie koniecznie - to są zwykłe nastolatki bez szczególnych zainteresowań i talentów

Moim celem - i właściwie ich celem bo się na to zgodzili - jest zrozumienie czym tak naprawdę jest programowanie i poznanie Pythona i jego możliwości w takim zakresie, który umożliwi im napisanie prostego programu samodzielnie.

Oni są tak zieloni, że muszę im pokazać jak się Pythona instaluje i jak zainstalować VSC i skonfigurować go pod Pythona - wtedy przejdę do podstaw samego języka.

Cały dzień o tym myślę i już mam plan i proste zadania - może napiszę kiedyś co przygotowałem dla nich i jak uczenie poszło.

wombatDaiquiri

@koszotorobur ja dla takich niezainteresowanych pracuję nad zajęciami mocno korzystającymi z ChatGPT i zakładającymi że już mają dostęp do komputera z profesjonalnym i przygotowanym IDE. Może to jest kierunek? W końcu chyba łatwiej się nauczyć zadawać pytania jak można dostać odpowiedź w chwilę o każdej porze dnia i nocy?

Oscypek

Weż mu apke zainstaluj np Python x albo Mimo

Z resztą sam sobie zainstaluje.

Niech zacznie od prostych rzeczy żeby się nie znirchecił na starcie

Zaloguj się aby komentować

Cython sprawia, że pisanie rozszerzeń C dla Pythona jest tak proste, jak sam Python!

Język Cython jest nadzbiorem języka Python, który dodatkowo obsługuje wywoływanie funkcji C i deklarowanie typów C na zmiennych i atrybutach klas. Dzięki temu kompilator może wygenerować bardzo wydajny kod C z kodu Cythona. Wygenerowany kod C jest następnie kompilowany przy pomocy jednego z dostępnych kompilatorów C/C++ do zoptymalizowanego modułu, który może zostać zaimportowany i użyty przez program napisany w Pythonie.

W skrócie Cython to Python ale z typami danych C - co pozwala mu być jednym z najlepszych i najprostszych narzędzi do przyspieszania programów napisanych w Pythonie!

Przykładowo w Cythonie napisane są moduły Pythona znane ze swojej szybkości jak:


Oficjalny poradnik jak zacząć z Cythonem można zaleźć pod adresem: https://cython.readthedocs.io/en/latest/src/tutorial/cython_tutorial.html

#technologia #programowanie #python #cython
dc103c9b-f99d-48d3-b674-ba7bc1d19ec4
slime-mold

@koszotorobur @rust-n-dust dzięki! dobry kontent

Zaloguj się aby komentować

Następna