Python - program Kawaler/Panna

Doskonały i sprawdzony materiał na "ludzkie oblicze" w programowaniu - psychozabawa, w której oceniamy liczbowo różne elementy "chodzenia ze sobą" chłopaka i dziewczyny, przy czym jest to tylko tło do dyskusji o wartościach, sposobie postrzegania świata i relacjach między ludźmi, a także praktyczny pokaz, że nie da się w prosty sposób ułożyć algorytmów do tak złożonych zagadnienia, jakim są ludzkie uczucia.


To, że w tych sprawach wartości się zmieniają, dobrze ilustrują podane niżej przykłady ogłoszeń matrymonialnych sprzed około 100 lat i współczesnych. .

Ogłoszenia z gazety "Alians" (1931 r.)
więcej ogłoszeń

Ogłoszenia z portalu "Poznajmy się" (2023 r.)


Widzisz różnicę? Świetny materiał na wszelkie lekcje o tematyce wychowawczej, gdyż w tych ogłoszeniach odbija się ostatnie kilkadziesiąt lat zmian obyczajowości i priorytetów w życiu.

Wróćmy jednak do naszego programu - to psychozabawa, która uczy programowania, ale ważniejsze będą tutaj dyskusje, które w związku, że dokończenie programu świetnie nadaje się jako praca domowa, przenoszą się z klasy do domu.
Program można stworzyć na dwa sposoby - w arkuszu kalkulacyjnym lub w jakimś języku programowania
(w naszym przykładzie będzie to Python).
Idea jest prosta (żeby nie powiedzieć "prostacka") - oceniamy liczbowo różne aspekty "chodzenia" danej pary (tutaj są pierwsze ważne dyskusje), według przyjętej dla danego kryterium skali (tutaj też są ciekawe dyskusje "co jest ważniejsze"), aż po końcową fazę, gdzie podawane liczby sumują się, zamieniane są na procenty i funkcja jeżeli wypisuje "wynik" oceniający szanse dalszego trwania "chodzenia". Przykładowe ustalenia dotyczące przedziałów procentowych (kolejne dyskusje) podaję takie, jakie powstały w jednej z klas ósmych:

- poniżej 25%: To jakieś nieporozumienie! Oni naprawdę ze sobą chodzą?
- 26-40%: Nie wygląda to ciekawie
- 41-55%: Jeszcze jakiś miesiąc i "bye bye baby"
- 56-70%: Pożyjemy i zobaczymy, co z tego wyjdzie
- 71-80%: Całkiem normalne chodzenie
- 81-90%: Jest spoko!
- powyżej 90%: Jak w bajce! (żeby tylko "czegoś" nie zmajstrowali)



Program "Kawaler/Panna" - arkusz kalkulacyjny

Program można stworzyć "od zera" lub wykorzystać jeden z trzech wariantów, które można pobrać poniżej:



Wariant 1
To "czysty" Excel - jest już kilka pytań i komórki sumujące oraz wykorzystujące funkcję "JEŻELI" (tutaj formuła jest naprawdę długa!).
Po dopisaniu pytań należy pamiętać, aby dla komórki "suma punktów" dopisać nowe adresy sumowanych komórek, a dla komórki "% z wszystkich możliwych" zmienić maksymalną liczbę możliwych do uzyskania punktów.
Przedziały procentowe i własne "oceny chodzenia" można natomiast zmienić dla komórki "Wynik".



Arkusz do pobrania jest tutaj

Wariant 2
To ten sam arkusz, co w wariancie 1, lecz dodane są suwaki do wyboru liczb. Taki program to dobra okazja, aby wprowadzić ten element arkusza.
Należy tylko pamiętać, że standardowo suwaki nie są w Excelu dostępne od razu i wymagają dołączenia do górnego menu opcji Deweloper - o tym, jak ją włączyć mówi strona Microsoftu tutaj .



Arkusz z suwakami jest do pobrania tutaj

Wariant 3
Ten sam arkusz, co w poprzednich wariantach, tylko paski są bardziej "bajeranckie" (formanty ActiveX - one też wymagają karty Developer). O tym jak ustawiać ich własności mówi chociażby ta strona tutaj .



Arkusz z kolorowymi suwakami jest tutaj



Program "Kawaler/Panna" - Python

Program w Pythonie jest znacznie prostszy od tego w arkuszu kalkulacyjnym, chociażby przez rozbicie warunków jeżeli na osobne przedziały. Podany niżej przykład można od razu uruchomić, a później dopisywać swój kod.
Po uruchomieniu programu, dla lepszej czytelności warto powiększyć czarne okno tekstowe, ciągnąć jego lewą krawędź w lewo.


Wprawdzie po dopisaniu kodu i uruchomieniu programu efekty są widoczne od razu, ale żeby pokazać swój program (np. nauczycielowi) trzeba kliknąć na znak {+} - kod otworzy się ponownie, ale już na stronie create.withcode.uk. Co robić dalej mówi ta instrukcja tutaj .