Python to bardzo dobry język do szybkich skryptów (0-100 linii kodu) automatyzujących różne rzeczy, więc mimo że korzystam z niego dość często, nie mam nic szczególnego do pokazania. Pokażę te, które zrobiły wrażenie na wykładowcach, nawet jeśli sam nie uważam ich za coś wyjątkowego. Powstały w erze przed-AI i może historie opowiedziane przy okazji powiedzą więcej o tym, jakim jestem człowiekiem.
Rezolucja
Paczka paru skryptów w Pythonie. Testuje spełnialność twierdzeń logicznych metodą rezolucji. Żeby sprawdzić poprawność, hostowałem lokalnie tester TPG i używałem Selenium do odczytania wyników.
To było zadanie na studia na pierwszym semestrze i zostałem pochwalony za cross-testing - na tyle, że wykładowca zrobił mi przesłuchanie, podsumowując słowami “nawet w zabitych dechami wsiach rodzą się talenty”.
Symulacja zderzeń cząsteczek gazu
Prosta symulacja fizyczna, licząca ciśnienie gazu.
Udostępniłem ją na czacie mojego rocznika razem z opisem, jak działa i gdzie trzeba zmienić kod, bo treść zadania różniła się w zależności od numeru indeksu studenta. Wydaje mi się, że większość roku z niej skorzystała albo się nią zainspirowała. Kiedy tłumaczyłem kod i matematykę za nim stojącą, wykładowca zorientował się, że jestem autorem tego rozwiązania i zaprosił mnie na studia z fizyki na swoim wydziale.
Przekombinowałem to zadanie, bo nie wymagało ani grafiki, ani symulacji w czasie rzeczywistym, ani zmiany parametrów na żywo. Miał to być projekt czteroosobowy, ale zrobiłem go sam, bo za dobrze się przy nim bawiłem, a nikt z mojej grupy nie narzekał, że nudne zadanie z fizyki zrobiło się za darmo.
Auto-formularze
Wysyła zapytania POST do podanego formularza Google, wypełniając go losowo z zadanym prawdopodobieństwem.
Skrypt nie został pochwalony, ale nasze “szeroko zakrojone badania” już tak…
Zmodyfikowany problem komiwojażera
Projekt na studia stworzony w dwuosobowej grupie. Zaimplementowaliśmy algorytm genetyczny do heurystycznego rozwiązania lekko zmodyfikowanego symetrycznego problemu komiwojażera. Kolejność odwiedzonych wierzchołków ma znaczenie, bo wpływa na mnożniki kosztu.
Paletyzacja
Symulacja robota kładącego określoną liczbę bloków wzdłuż paraboli z orientacją prostopadłą do jej stycznej w danym punkcie.
Zostało pochwalone, bo byłem jedyną osobą, której chciało się zrobić to zadanie…