Python - zadanka
Zbiór przykładowych zadań do rozwiązania w języku Python.
poziom - Szkoła Podstawowoa (V - VI)
Liga zadaniowa
zad. offline
Napisz program, który dla danej miary kąta podanej w stopniach podaje jego pełną nazwę spośród: wypukły zerowy, wypukły ostry, wypukły prosty, wypukły rozwarty, wypukły półpełny, wypukły pełny, wklęsły.
Przykład:
Podaj miarę kąta w stopniach: 90
Kąt 90 stopni to kąt wypukły prosty.
Napisz program, który stwierdza czy z trzech podanych boków będących liczbami całkowitymi dodatnimi można zbudować trójkąt. W przypadku negatywnej odpowiedzi wyprowadzić stosowny komunikat
Przykład:
Podaj pierwszy bok trójkąta: 3
Podaj drugi bok trójkąta: 4
Podaj trzeci bok trójkąta: 5
Z odcinków o długościach 3, 4, 5 można zbudować trójkąt.
Napisz program, który dla danych trzech długości boków obliczy pole i obwód trójkąta lub wypisze na ekranie komunikat "Nie istnieje taki trójkąt".
Przykład:
Podaj pierwszy bok trójkąta: 3
Podaj drugi bok trójkąta: 4
Podaj trzeci bok trójkąta: 5
Pole trójkąta o bokach: 3, 4, 5 wynosi: 6 (jednostek kwadratowych)
Obwód trójkąta o bokach: 3, 4, 5 wynosi: 12 (jednostek)
Napisz program, który dla danej liczby całkowitej dodatniej rozstrzygnie czy ta liczba jest parzysta czy nieparzysta.
Przykład:
Podaj liczbę: 8
Liczba 8 jest parzysta.
Napisz program, który spyta użytkownika ile ma lat, a następnie wyświetli czy ta osoba jest młodzieżą, dzieckiem, czy dorosłym (zakładamy, że dziecko ma mniej niż 12 lat, a dorosły więcej niż 18).
Przykład
Ile masz lat: 9
Jesteś jeszcze dzieckiem.
Napisz program, który dla danej liczby całkowitej obliczy jej pierwiastek kwadratowy. W przypadku podania liczby ujemnej program powinien poprosić użytkownika o podanie poprawnej liczby.
Przykład:
Podaj liczbę podpierwiastkową: -4
Nie istnieje pierwiastek z liczby ujemnej. Podaj inną liczbę: 4
Pierwiastek kwadratowy z liczby 4 wynosi 2
Napisz program, który dla danych dwóch boków prostokąta będących liczbami całkowitymi obliczy jego pole. Program zabezpiecz pętlą zaporową.
Przykład
Podaj długość prostokąta: 3
Podaj szerokość prostokąta: -8
Szerokość prostokąta nie może być liczbą ujemną.
Podaj inną liczbę: 4
Pole prostokąta o wymiarach 3x4 wynosi 12 (jednostek kwadratowych)
Napisz następujący program:
- komputer losuje liczbę z przedziału <1, 100>
- człowiek próbuje odgadnąć wylosowaną liczbę w jak najmniejszej liczbie kroków.
- jeżeli człowiek trafi w wylosowaną liczbę wyświetli sie komunikat: "GRATULACJE! Odgadłeś liczbę po x próbach", a jeżeli nie, to wyświetli się napis informujący czy podana liczba jest większa czy mniejsza od wylosowanej.
Przykład:
Wylosowałem liczbę z przedzialu <1, 100>. Spróbuj ją odgadnąć po jak najmniejszej liczbie prób.
Podaj wylosowaną liczbę: 34
Pudło. Liczba 34 jest za mała
Podaj wylosowaną liczbę: 87
Pudło. Liczba 87 jest za duża
Podaj wylosowaną liczbę: 55
GATULACJE! Odgadłeś liczbę 55 po 3 próbach.
Uzupełnij zadanie "Gra - zgadnij liczbę" w możliwość wyboru czy chcesz powtórzyć grę.
Przyklad:
.
.
.
Po odgadnięciu liczby z poprzedniego zadania powinien pojawić się komunikat:
"Czy chcesz powtórzyć grę (T)ak/(N)ie?
Po wybraniu przez użytkownika T lub t powtarzamy całą zabawę od początku.
10. Średnia arytmetyczna i mediana liczb [pokaż/schowaj]
Napisz program, który dla danej serii liczb całkowitych obliczy ich średnią arytmetyczną oraz medianę. Wynik zaokrąglij do dwóch miejsc po przecinku.
Przykład:
Podaj liczbę danych: 3
Podaj 1 liczbę: 4
Podaj 2 liczbę: 1
Podaj 3 liczbę: 2
Średnia arytmetyczna wprowadzonych liczb to: 2.33
Mediana wprowadzonych liczb to: 2.00
Napisz program zawierający Menu, które umożliwi użytkownikowi wybór figury, której pole chce policzyć. Menu programu powinno dodatkowo zawierać opcję Koniec powodującą wyjście z programu i powinno być zapętlone.
Przykład:
Program obliczający pole wybranej figury.
Menu:
1 - Pole kwadratu.
2 - Pole prostokata.
3 - Pole trapezu.
4 - Koniec
Wybierz opcję: 1
Podaj bok kwadratu: 4
Pole kwadratu o boku 4 wynosi 16 (jednostek kwadratowych)
1 - Pole kwadratu.
2 - Pole prostokata.
3 - Pole trapezu.
4 - Koniec
Wybierz opcje: 4
Do zobaczenia!
12. Gra - papier, nożyczki, kamień [pokaż/schowaj]
Napisz grę znaną z dzieciństwa - papier, nożyczki, kamień. W trakcie gry użytkownik wybiera jedną z trzech opcji: papier, nożyczki lub kamień, następnie komputer losuje swój wybór i następuje werdykt (człowiek wygrał, komputer wygrał lub remis). Gra toczy się kilka rund. (aż do zakończenia gry)
Przykład:
Witaj w grze papier, nożyczki, kamień.
1 - papier
2 - nożyczki
3 - kamień
4 - koniec
Runda 1 - wybierz opcję: 2
Wybrałeś nożyczki
Komputer wybrał papier
Brawo wygrałeś. Zdobyłeś 1 pkt.
Aktualny wynik: 1:0
1 - papier
2 - nozyczki
3 - kamień
4 - koniec
Runda 2 - wybierz opcję: 4
Zakończyłeś grę z wynikiem 1:0
Do zobaczenia!
Moduł Turtle
|
Napisz funkcję kwadrat(bok), która rysuje kwadrat. Parametr bok określa długość boku kwadratu
|
|
Napisz funkcję kwadraty(bok), która rysuje kwadraty pokazane na rysunku. Parametr bok określa bok małego kwadratu.
|
|
Napisz funkcję bezparametrową okno(). Zadbaj o to, żeby wrócić zółwiem do punktu, z którego zaczął rysować. W funkcji wykorzystaj wcześniej zdefiniowane funkcje.
|
|
Napisz funkcję kwadrat(bok), która rysuje kwadrat. Parametr bok określa długość boku kwadratu
|
|
Napisz funkcję murek(ile, bok), która rysuje murek. Parametr ile określa długość murka, a bok długość pojedynczego kwadratu. Rysunek przedstawia wywołanie funkcji murek(8,20).
|
|
Napisz funkcję piramida(ile, bok), która rysuje piramidę. Parametr ile określa liczbę kwadratów w podstawie, a bok długość boku kwadratu. Rysunek przedstawia wywołanie funkcji piramida(8, 20).
|
|
Wykombinuj sam funkcję piramida2(ile, bok), która rysuje piramidę złożoną z trojkątów. Parametr ile określa liczbę trójkątów w podstawie, a bok długość boku trójkąta. Zadanie można rozwiązać na dwa sposoby - używając bądź nie używając pierwiastków. Rysunek przedstawia wywołanie funkcji piramida2(5, 50).
|
|
Napisz funkcję koperta(a), która rysuje kopertę. Parametr a określa długość boku koperty. Rysunek przedstawia wywolanie funkcji koperta(50).
|
|
Napisz funkcję koperta(a, ile), która rysuje ile kopert rozmieszczonych jak na rysunku. Parametr a określa długość pojedynczej koperty, natomist ile przyjmuje wartość od 1 do 10. Rysunek przedstawia wywołanie funkcji koperta(50, 2).
|
|
Rysunek przedstawia wywołanie funkcji koperta(50, 3).
|
|
Rysunek przedstawia wywołanie funkcji koperta(50, 4).
|
|
Napisz funkcję trojkat(a, color), która rysuje trójkąt równoboczny. Parametr a określa długość boku trojkąta, a color kolor wypełnienia. Rysunek przedstawia wywolanie funkcji trójkąt(50, "red").
|
|
Napisz funkcję kwadrat(a, color), która rysuje kwadrat. Parametr a określa długość boku kwadratu, natomiast color kolor wypełnienia. Rysunek przedstawia wywołanie funkcji kwadrat(80, "orange"). Rysowanie kwadratu zacznij ze środka jego boku.
|
|
Napisz funkcję bombka(r), która rysuje bombkę pokazaną na rysunku. Parametr r określa długość promienia bombki. Rysunek przedstawia wywolanie funkcji bombka(100). Rysowanie bombki zacznij ze środka koła.
|
|
Rysunek przedstawia wywołanie funkcji bombka(150).
|
|
Napisz funkcję zegar(r), która rysuje zegar pokazany na rysunku. Parametr r określa długość promienia tarczy zegara. Rysunek przedstawia wywolanie funkcji zegar(100). Zadbaj o to, aby mała wskazówka zegara była wychylona proporcjonalnie do dużej.
|
|
Rysunek przedstawia wywołanie funkcji zegar(200).
|
|
Napisz funkcję trojkat(a), która rysuje trójkąt równoboczny o boku a. Rysunek przedstawia wywołanie funkcji trojkat(100).
|
|
Napisz funkcję daszek(a), która rysuje 3 trójkąty równoboczne, z których największy ma bok a, natomiast pozostałe dzielą największy bok trójkąta na równe części. Rysunek przedstawia wywołanie funkcji daszek(100).
|
|
Napisz funkcję cegla(a). Parametr a określa długość cegły będąca dwukrotnością jej wysokości. Rysunek przedstawia wywołanie cegla(100).
|
|
Napisz funkcję polcegly(a), która rysuje półcegły o boku a. Rysunek przedstawia wywołanie polcegly(100)
|
|
Napisz funkcję murek1(ile, rozmiar), Parametr ile określa liczbę cegieł, natomiast rozmiar długość pojedynczej cegły. Rysunek przedstawia wywołanie murek1(3, 50).
|
|
Napisz funkcję murek2(ile, rozmiar) rysującą murek zaczynający się i kończący połówką cegły. Parametr ile określa łączną liczbę całych cegieł, natomiast rozmiar długość pojedynczej cegły. Rysunek przedstawia wywołanie murek2(3, 50).
|
|
Napisz funkcję scianka(ile, rozmiar) rysującą sciankę składającą się z dwóch rzędów cegieł - murek1 oraz murek2. Parametr ile określa liczbę cegieł w podstawie, natomiast rozmiar długość pojedynczej cegly. Rysunek przedstawia wywołanie ścianka(4, 50).
|
|
Napisz funkcję sciana(w, ile, rozmiar) rysującą scianę składającą się z w ścianek. Parametr ile określa liczbę cegieł w podstawie, natomiast rozmiar długość pojedynczej cegly. Rysunek przedstawia wywołanie ściana(3, 4, 40).
|
|
Napisz funkcję wieza(w, ile, rozmiar) rysującą wieżę pokazaną na rysunku. Parametr w określa wysokość ściany składającej się w ścianek, natomiast rozmiar długość pojedynczej cegly. Rysunek przedstawia wywołanie wieza(4, 3, 50). Dach wieży wystaje o długość połowy cegły z jednej i drugiej strony.
|
|
Korzystając z powyższego zadania przygotuj animację.
|
|
Napisz funkcję flaga(r, k). Parametr r określa długość drążka flagi, natomiast k długość boku kwadratu. Rysunek przedstawia wywołanie funkcji flaga(100, 40)
|
|
Napisz funkcję flagi(ile,r, k). Parametr ile określa liczbę flag, a r długość drążka flagi, natomiast k długość boku kwadratu. Rysunek przedstawia wywołanie funkcji flagi(10,100,40).
|
|
Napisz funkcję kwadrat(a). Parametr a określa długość boku kwadratu. Zauważ, że żółw rysuje ze środka boku kwadratu. Rysunek przedstawia wywołanie funkcji kwadrat(50)
|
|
Napisz funkcję flaga(r, k). Parametr r określa długość drążka flagi, natomiast k długość boku kwadratu. Rysunek przedstawia wywołanie funkcji flagi(150, 50).
|
|
Napisz funkcję flagi(ile, r, k). Parametr ile określa liczbę flag, r długość drążka flagi, natomiast k długość boku kwadratu. Rysunek przedstawia wywołanie funkcji flagi(6, 150,50).
|
|
Napisz funkcję flagi_los(ile, r, k) rysującą ile flag o losowym kolorze wokół ich środka symetrii. Parametr ile określa liczbę flag, r długość drążka flagi, natomiast k długość boku kwadratu. Rysunek przedstawia wywołanie funkcji flagi_los(8, 150,50).
|
Obowiązujące wymiary flagi Polski - prostokąt o proporcjach 5:8 podzielony na dwa poziome pasy: biały (u góry) i czerwony.
|
Napisz funkcję prostokat(d, w, c). Parametr d określa szerokość, w wysokość prostokąta, natomiast c kolor wypełnienia. Rysunek przedstawia wywołanie funkcji flaga(80, 50, "red")
|
|
Napisz funkcję prostokat2(d, w). Parametr d określa szerokość, w wysokość prostokąta podzielonego w połowie na dwa pasy w barwach narodowych. Rysunek przedstawia wywołanie funkcji prostokat2(80, 50)
|
|
Napisz funkcję flaga(r, d, w). Parametr r określa długość drążka flagi, d długość, w szerokość prostokąta podzielonego w połowie na dwa pasy w barwach narodowych. Rysunek przedstawia wywołanie funkcji flaga(105, 80, 50)
|
|
Napisz funkcję flagi(ile) rysującą ile flag równo rozmieszczonych wokół środka. Rysunek przedstawia wywołanie funkcji flagi(10).
|
|
Napisz funkcję animacja(ile). Parametr ile określa liczbę obracających się flag. Obrazek przedstawia wywołanie funkcji animacja(6).
|
|
Napisz funkcję gwiazda(k, r). Parametr k określa liczbę ramion gwiazdy, natomiast r długość ramienia. Rysunek przedstawia wywołanie funkcji gwiazda(20, 60)
|
|
Napisz funkcję gwiazdki(ile), która rysuje ile ramienną gwiazdę o długości 100. Małe gwiazdki o losowym kolorze mają tą samą liczbę ramion i są oddalone od środka o 140, długości ich ramion wynoszą 20. Rysunek przedstawia wywołanie funkcji gwiazdki(20).
|
|
Napisz funkcje bezparametrową: p() rysującą wielką literę P koloru granatowego. Rysunek przedstawia wywołanie funkcji p().
|
|
Napisz funkcję bezparametrową m() rysującą wielką literę M koloru granatowego. Rysunek przedstawia wywołanie funkcji m().
|
|
Napisz funkcję bezparametrową pm() rysującą dwie koło siebie litery P oraz M. Rysunek przedstawia wywołanie funkcji pm().
|
|
Napisz funkcję bezparametrową logo() rysującą logo na środku ekranu.
|
|
Przy projektowaniu loga możesz posłużyć się pomocniczym rysunkiem.
|
|
Napisz funkcję kwadrat(a), która rysuje ze śśrodka kwadrat o boku równym a. Rysunek przedstawia wywołanie funkcji kwadrat(50)
|
|
Napisz funkcję kwadraty(ile), która rysuje ile kwadratów. Wykonać na ekranie możliwie największy rysunek. Rysunek przedstawia wywołanie funkcji kwadraty(4)
|
|
Napisz funkcję kolorowe(ile), która rysuje ile kwadratów o losowym kolorze wypełnienia. Wykonać na ekranie możliwie największy rysunek. Rysunek przedstawia wywołanie funkcji kolorowe(6).
|
|
Napisz funkcję domek(a), która rysuje domek o długości a. Funkcja domek(a) powinna zawierać funkcje z których zbudowany jest domek, czyli: okno(a), drzwi(a), sciana(a), dach(a). Rysunek przedstawia wywołanie funkcji domek(100).
|
|
Wykorzystując funkcję domek(a) wykonaj rysunek domków w perspektywie.
|
|
W celu dokładnego rozmieszczenia poszczególnych elementów można posłużyć się rysunkiem pomocniczym. Nietrudno zauważyć, że pojedyncza krateczka na rysunku to 1/8 długości domku. Dla ułatwienia dach zrób z trójkąta równobocznego.
|
|
Wykonaj projekt bloku pokazanego na rysunku obok. Dla ułatwienia narysowano siatkę. Napisz funkcję blok(a), gdzie parametr a oznacza wymiar pokazany na rysunku. Podziel projekt na mniejsze funkcje: okno(r), drzwi(r), dach(r) okna(r), gdzie parametr r oznacza długość pojedynczego kwadratu siatki.
|
|
Wygląd drzwi w powiększeniu.
|
|
wywołanie funkcji okna(30)
|
|
wywołanie funkcji dach(30)
|
|
Wywołanie funkcji blok(100). Zadbaj, aby wrócić zółwiem do miejsca, z którego zaczął rysować.
|
|
Napisz funkcję osiedle(a, ile), gdzie parametr a oznacza dlugość podstawy budynku, a ile liczbę budynków w perspektywie. Długości podstaw kolejnych domków zmiejszają się o 10%.Wywołanie funkcji osiedle(100, 3). Wróć żółwiem do początku.
|
|
Napisz funkcję choinka(a, ile), która rysuje choinkę zbudowaną z ile trójkątów równobocznych o długości podstawy dolnego trójkąta (największego) równej a. Rysunek przedstawia wywołanie funkcji choinka(150,3).
Program podzielić na mniejsze funkcje np: podstawa(a), bombka(a), czubek(a), trojkat(a), trojkat_z_bombkami(a),. Do funkcji możesz przekazać dodatkowo kolor obiektu. Staraj się rysować obiekty ze środka boku.
|
|
Napisz funkcję literaE(a) rysującą literę E, Parametr a określa długość najkrótszego boku litery. Rysunek przedstawia wywołanie funkcji literaE(40).
|
|
Napisz funkcję literyE(a) rysującą litery E ułożone w niewidocznym kwadracie o boku równym a. Rysunek przedstawia wywołanie funkcji literyE(200). Zadbaj o to, żeby wrócić żółwiem do punktu startowego.
|
|
Napisz funkcję caly(a) rysującą przedstawiony rysunek. Parametr a określa długość boku kwadratu. Rysunek przedstawia wywołanie funkcji caly(400).
|
|
Napisz funkcje: luk(kat, krok) rysującą łuk, którego parametr kat określa kąt α z krokiem określonym parametrem krok. Rysunek przedstawia wywołanie funkcji luk(70,4). (Powtarzaj kat razy sekwencję: Żółwik porusza się o krok i skręca w prawo o 1°)
|
|
Napisz funkcję platek(kat, krok, kolor) rysującą płatek składający się z dwóch symetrycznie ułożonych łuków zdefiniowanych parametrami kat oraz kolor wypelniony kolorem kolor. Rysunek przedstawia wywołanie funkcji platek(60, 2, "red").
|
|
Napisz funkcję korona(kat, krok, kolor) rysującą koronę przedstawioną na rysunku. Rysunek przedstawia wywołanie funkcji korona(60,2,"yellow").
|
|
Wykorzystując zdefiniowane funkcje narysuj kwiat przedstawiony na rysunku.
|
|
Napisz funkcje: kwadrat(a) rysującą kwadrat o boku a, trojkat(a) rysującą trójkąt równoboczny o boku a, podstawka(a, b) rysującą prostokąt o szerokości a i wysokości b. Rysunki przedstawiają wywołania funkcji kwadrat(30), trojkat(30), prostokat(60, 20).
|
|
Napisz funkcję seria(w, ile) rysującą rząd ile kwadratów ułożonych w kierunku patrzenie żółwia o bokach równych w. Rysunek przedstawia wywołanie funkcji seria(25, 4). Zadbaj o to, żeby wrócić żółwiem do punktu startowego.
|
|
Napisz funkcję dzwig(w, ilew, ilesz) rysującą dźwig przedstawiony na rysunku. Parametr w określa długość boku kwadratu, ilew liczbę kwadratów w pionie, ilesz liczbę kwadratów w poziomie. Rysunek przedstawia wywołanie funkcji dzwig(25, 7, 8).
|
|
Rysunek przedstawia wywołanie funkcji dzwig(15, 10, 11).
|
|
Zmodyfikuj funkcję kwadrat tak, aby kwadrat miał widoczne przekątne oraz napisz funkcję bezparametrową budowa() przedstawiającą trzy dźwigi. Rozmieść rysunki tak, aby się nie dotykały i miały różne rozmiary.
|
Rozwiąż dowolne inne zadanie ze strony W. Gajdy
Wykorzystując moduł Turtle napisz przykładową grę dla dwóch graczy. Gra polega na łapaniu przez ufa czerwonych kółeczek na punkty. Statki po uderzeniu w bandę powinny się odbić od niej, a po najechaniu w siebie zmienić kierunek lotu (przeszkadzanie). Kółko porusza się po planszy a po zebraniu znika oraz pojawia się w innym miejscu. Sterowanie statkami: jeden gracz kursorami (lewo, prawo, gora - przyspieszenie, dół - zwolnienie) oraz drugi gracz analogicznie wsad. Gramy do 10 punktów pierwszego gracza.
Moduł Tkinter (GUI)
|
Narysuj na formularzu rysunek przedstawiony powyżej. Wykorzystaj odpowiednie funkcje do rysowania kształtów klasy Canvas. Postaraj się zrobić możliwie największy rysunek w oknie o wymiarach 450x500.
|
|
Rysunek pomocniczy
|
|
Napisz funkcję nwd(a, b), która zwróci nwd dwóch liczb, a następnie przygotuj graficzny interfejs użytkownika według wzoru.
|
Moduł PyGame
Zad. 1 - odbijająca się piłeczka [pokaż/schowaj]
|
Używając bibliotek Pygame napisz program odbijającej się piłeczki od krawędzi okna. Potrzebna grafikę przygotuj w programie GIMP.
|
|
Napisz prostą grę polegającą na odbijaniu piłeczki paletką. Punkty oraz sterowanie paletką (myszka, klawiatura) zaprogramuj według uznania.
|