Instytut Matematyki Uniwersytet Gdański
Literatura Jonson R. Briggs, Python dla dzieci, PWN, Warszawa, 2015. Python jest językiem programowania wysokiego poziomu (jego składnia i słowa kluczowe maja maksymalnie ułatwić rozumienie kodu programu) ogólnego przeznaczenia. Python rozwijany jest jako projekt Open Source zarzadzany przez Python Software Foundation, która jest organizacja non-profit.
Literatura Jonson R. Briggs, Python dla dzieci, PWN, Warszawa, 2015. Python jest językiem programowania wysokiego poziomu (jego składnia i słowa kluczowe maja maksymalnie ułatwić rozumienie kodu programu) ogólnego przeznaczenia. Python rozwijany jest jako projekt Open Source zarzadzany przez Python Software Foundation, która jest organizacja non-profit.
Literatura Jonson R. Briggs, Python dla dzieci, PWN, Warszawa, 2015. Python jest językiem programowania wysokiego poziomu (jego składnia i słowa kluczowe maja maksymalnie ułatwić rozumienie kodu programu) ogólnego przeznaczenia. Python rozwijany jest jako projekt Open Source zarzadzany przez Python Software Foundation, która jest organizacja non-profit.
Python-podstawy >>> znaki gotowości print() Zadanie a) Wpisz wpowłoce pythona: print("hello World") i wciśnij enter. b) Oblicz 1, 55 + 1,45+ 2 3 33 1, 26. Uwaga: działania w pythonie zapisujemy +,,, /, zamiast przecinka w ułamkach dziesiętnych piszemy kropkę. c) Resztę z dzielania a przez b zapisujemy a%b. Zapisać jedno równanie (wykorzystujace co najwyżej +,,, /, %) dajace w jako wynik część całkowita z dzielenia 1234 przez 19.
Python-podstawy Tworzenie zmiennej: nazwa_zmiennej = wartość_zmiennej np. aby utworzyć zmienna o nazwie liczba, która ma wartość 100 wpisujemy liczba = 100. Wyświetlamy wartość zmiennej za pomoca polecena print(nazwa_zmiennej) np. print(liczba). Różne zmienne moga mieć te same wartości. Zmienne moga przechowywać liczby, tekst, listy liczb i tekstów itd. Słowo zmienna odnosi się w programowaniu do miejsca, w którym przechowywane sa informacje.
Python-podstawy Zadanie Ziema w ciagu roku obiega Słońce po niemal kolistej orbicie. Odległość miedzy tymi ciałami niebieskimi wynosi około 150 mln km. Promień Słońca jest równy około 700 tys. km. Oblicz, ile kilometrów przebyła Ziemia w czasie Twojego dotychczasowego życia. Należy utworzyć zmienna dni, która będzie przechowywała liczbę dni twojego dotychczasowego życia oraz zmienna droga, która będzie obliczała drogę ziemi w czasie twojego życia. Sprawdź również jaka drogę przebiegnie ziemia, gdy będziesz dwa razy starszy (nie przepisuj ponownie zmiennych, zmienna wiek zmień za pomoca odpowiedniej równości a zmienna droga skopiuj).
Python-podstawy Zadanie domowe Przeczytaj rozdział 1 i 2. Zapisać w Pythonie rozwiazanie zadania z monetami z rodziału 2 na dwa sposoby (bez użycia zmiennych i z użyciem zmiennych).
Python-podstawy Łańcuchem nazywa się zwykły tekst. W Pythonie tworzymy łańcuch umieszczajac go w cudzysłowie np. Hello World lub w apostrofach np. Hello world. Aby użyć w łańcuchu więcej niż jednego wiersza używamy potrójnego apostrofu np. Teraz jestem w pierwszym wierszu i już jestem w drugim wierszu Zadanie a) Utwórz zmienna o nazwie poczatek zawierajac a łańcuch: 3, 2, 1, start. Wyświetl zawartość tej zmiennej (print(poczatek)). b) Utwórz zmienna zawierajac a łańcuch w dwóch wierszach. Wyświetl ta zmienna
Python-podstawy Jeśli chcemy wyświetlić komunikat, używajac zawartości zmiennej, wartości w łańcuchu można osadzić za pomoca symbolu %s. Zadanie Sprawdź jak wyglada osadzanie wartości w łańcuchu za pomoca dwóch poniższych przykładów. >>> wynik = 100 >>> info = Twój wynik wynosi %s >>> print(info % wynik) oraz >>> info = Wynik pierwszego gracza %s. Wynik drugiego gracza %s. >>> print(info % (100, 105))
Python-podstawy Łańcuchy możemy mnożyć przez liczby naturalne np. jeśli łańcuch = ab to 3*łańcuch wynosi ababab. Zadanie Utwórz zmienne z wynikiem gracza 1 oraz z gracza 2. Zdefiniuj łańcuch spacja (zawierajacy spacje). Zdefiniuj jedna zmienna wyniki wyświetlajac a wynik gracza 1 i gracza 2. Wyniki gracza 1 i 2 maja być wyświetlone wierszach pod soba i maja się zaczynać 10 spacji od lewego marginesu.
Python-podstawy W programie Python mamy możliwość tworzenia list np. zakupy = [ mleko, chleb, cukier, sól ] Numery listy zaczynaja się od 0. Jeśli chcemy wyświetlić np. pierwszy element listy musimy wpisać: print(zakupy[0]) [m:n] wyświetla elementy z podanego zakresu, ale bez ostatniego np. aby wyświetlić element 2 i 3 należy wpisać print(zakupy[1:3]) Zadanie Utwórz pięcioelementowa listę zakupów. Wyświetl cała listę, tylko trzeci element listy, wszystkie elementy bez pierwszego i ostatniego.
Python-podstawy Kolejne elementy do list dodajemy za pomoca funkcji append: nazwa_listy.append(element_dodawany) np. jeśli chcę dodać do listy zakupów masło to wpisuję: zakupy.append( masło ) Do usuwania elementów z listy używa się polecena del np. jeśli chcę usunać drugi element z mojej listy: del zakupy[1] Zadanie Dodaj dwa produkty do swojej listy oraz usuń pierwszy i trzeci element z listy.
Python-podstawy Zadanie Utwórz lista1=[1,3,5], lista2=[2,4,6], lista3 = lista1 + lista2 i lista4 = 3*lista1. Wyświetl te listy. Krotka (ang. tuple) przypomina listę, która używa nawiasów okragłych np. liczbyfib=(1,1,2,3,5) Zasadnicza różnica pomiędzy krotka a lista jest taka, że krotki po jej zdefiniowaniu nie można modyfikować.
Python-podstawy Każdy element na mapie (inaczej słownik) ma klucz i wartość. Definujemy mapę w następujacy sposób: mapa ={ klucz1 : wartość1, klucz2 : wartość2,... } Na przykład: Wyniki ={ Gracz 1 : 100, Gracz 2 : 105 } Możemy wyświetlać wartość przy pomocy klucza np. print(wyniki[ Gracz 2 ]) Dodawać nowy element do mapy np. Wyniki[ Gracz 3 ] = 95 Usuwać element z mapy np. del Wyniki[ Gracz 2 ]
Python-podstawy Zadanie Utwórz 3 zmienne z wynikami: wynik1, wynik2 i wynik3. Utwórz mapę Wyniki, która jako klucze będzie miała nazwy Gracz 1,... a jako wartości ich wyniki. a) Wyświetl cała mapę. b) Wyświetl wynik Gracza 2. c) Utwórz nowa zmienna wynik4 i dodaj Gracza 4 do mapy Wyniki. Wyświetl mapę. d) Usuń Gracza 2 z mapy Wyniki. Wyświetl mapę. Zadanie domowe Przeczytać rozdział 3. Rozwiazać zadanie 1, 2 i 3 ze strony 41 i 42.
Python-grafika żółwia Moduły w Pythonie to sposób na takie zorganizowanie przydatnego kodu, aby mógł być użyty przez inny program. Moduł turtle to sposób na programowanie grafiki wektorowej. Do importotowania modułów służy komenda import. >>> import turtle Jeśli chcemy skorzystać z jakiś funkcji modułu to najpierw musimy ten moduł zaimportować. Po zaimportowaniu modułu turtle tworzymy płótno na którym będziemy rysować za pomoca polecenia: >>> t = turtle.pen() Pen jest funkcja z modułu turtle.
Python-grafika żółwia Podstawowe polecena: t.forward(n) rysuje odcinek o długości n pikseli, t.backward(n) cofa żółwia o n pikseli, t.left(k) skręca w lewo o kat k, t.right(k) skręca w prawo o kat k, t.reset() czyści płótno, a żółw wraca na poczatkow a pozycje, t.clear() czyści płótno, a żółw pozostaje na obecnej pozycji. t.up() odrywa pióro od płótna i przestaje rysować, t.down() opuszcza pióro i zaczyna rysować, Wiecej na temat modułów oraz modułu turtle będzie omawiane w dalszej części zajęć.
Python-grafika żółwia Zadanie Narysuj równoramienny trójkat prostokatny a wewnatrz tego trójkata romb, który nie jest kwadratem (najpierw zaimportuj moduł turtle i utwórz płótno). Zadanie domowe Przeczytać rozdział 4. Rozwiazać zadania ze strony 51.
Python-instrukcje Instrukcja if składa się ze słowa kluczowego if, po którym podajemy warunek oraz dwukropek (:). Wiersze po dwukropku musza znajdować się w bloku, jeśli warunek jest spełniony to instrukcje z bloku zostana wykonane. if warunek: blok instrukcji Zadanie Napisać program w którym definiuje się zmienna Liczba_zyc = 3. Następnie jeśli zmienna jest większa od 0 to się od niej odejmuje 1 i wyświetla się jej wartość.
Python-instrukcje W Pythone odstęp od lewego marginesu jest bardzo ważny. Kod znajdujacy się w tej samej odległości od lewego marginesu tworzy blok i za każdym razem, rozpoczynamy wiersz z większa liczba spacji niż poprzedni, tworzymy nowy blok, będacy częścia poprzednego bloku. Symbole używane w instrukcjach == równa się!= różny od >= większy lub równy <= mniejszy lub równy > większy < mniejszy
Python-instrukcje Instrukcja if then else if warunek: blok instrukcji, gdy warunek prawdziwy else: blok instrukcji, gdy warunek fałszywy Zadanie Napisać program w którym definiuje się zmienna Liczba_zyc = 3. Następnie jeśli zmienna jest większa od 0 to się od niej odejmuje 1 i wyświetla się jej wartość w przeciwnym razie wyświetla się komunikat Koniec gry. Skopiuj i zastosuj instrukcje kilka razy.
Python-instrukcje Instrukcja if i elif if warunek1: blok instrukcji, gdy warunek1 prawdziwy elif warunek2: blok instrukcji, gdy warunek2 prawdziwy elif warunek3: blok instrukcji, gdy warunek3 prawdziwy... else: blok instrukcji, gdy żaden z powyższych warunków nie jest spełniony
Python-instrukcje Zadanie Zdefiniuj zmienna kolor zawierajac a łańcuch czerwony. Napisz instrukcje, która jeśli zmienna kolor zawiera czerwony to zmienia kolor na zielony i go wyświetla, jeśli kolor niebieski to zmienia na zielony i wyświetla, w przeciwnym razie zmienia kolor na niebieski i wyświetla. Wykonaj kilka razy tę instrukcje.
Python-instrukcje Warunki można łaczyć za pomoca słówkluczowych and (i) oraz or (lub). Zadanie Napisać program w którym definiuje się zmienna monety oraz instrukcje, która wyświetla komunikat całkiem nieźle, jeśli 100 monety 200. Uruchom program dla kilku wartości monety. Zadanie Napisać program w który definiuje się zmienna x oraz instrukcje, która będzie wyświetlała komunikat x nie jest cyfra, jeśli zmienna x nie będzie cyfra.
Python-instrukcje Zmiennej można przypisać wartość pusta None. None nie jest tożsama z wartościa 0, ponieważ oznacza brak wartości, a nie liczbę o wartości 0. Stosujemy ja gdy chcemy zresetować jakaś zmienna lub zdefiniować zmienna bez ustalana jej wartości (wiemy, że zmienna będzie potrzebna później w programie, ale chcemy już na poczatku zdefiniować wszystkie zmienne). Jeśli x jest łańcuchem zawierajacym liczbę całkowita np. x= 100. To aby przekształcić łańcuch na liczbę całkowita używamy funkcji int np int(x). Jeśli x jest łańcuchem zawierajacym liczbę wymierna to aby dokonać konwersji używamy funkcji float. Jeśli chcemy liczbę na łańcuch to używamy funkcji str.
Python-instrukcje Zadanie Zdefiniuj zmienna wiek jako łańcuch zawierajacy twój wiek (zapisany cyframi). Wymyśl instrukcje, która w warunku będzie zawierała twój wiek, ale użyty jako liczbę. Zadanie domowe Przeczytać rozdział 5 i wykonać zadania ze strony 65.
Python Zadanie domowe Przeczytać rozdział 6, 7 i 8 i wykonać zadania znajdujace się na końcu rozdziałów.
Python-wprowadzanie danych imie = raw_input("podaj swoje imię ") print("witaj ", imie, ", widzę, że nieźle Ci idzie!") Funkcja raw_input zwraca łańcuch. Funkcja input zwraca liczbę. Przykład programu obliczajacego sumę dwóch liczb: x=input("podaj pierwsza liczbę") y=input("podaj druga liczbę") print( Suma liczb", x, "i", y, "wynosi: ",x+y) Zadanie Napisać program, który wczyta od użytkownika pewien napis, a następnie wyświetli 30 kopii tego napisu, każda w osobnej linii. Zadanie Napisać program, który po wprowadzeniu długości podstawy i wysokości trójkata, obliczy jego pole.
Python-pętle for ( dla każdego x z przedziału... ) lista=[ a, b, c ] for i in lista: print(i) Działanie instrukcji: dla każdej i, przyjmujacego kolejne wartości z listy lista, wykonaj instrukcję print. Do tworzenia sekwencji, których elementy należa do ciagu arytmetycznego, używamy funkcji range: range(n) tworzy [0, 1, 2,..., n-1] range(m,n) tworzy [m, m+1,..., n-1] range(m,n,k) tworzy listę o kroku k np. range(1,10,2) tworzy [1, 3, 5, 7, 9]. k może być też ujemne wtedy m>n np. range(3,0,-1) tworzy [3, 2, 1].
Python-pętle Zadanie Napisać program, który wypisze: a) kwadraty wszystkich liczb całkowitych od 0 do 20, b) sześciany wszystkich liczb całkowitych od 10 dp 20, c) odwrotności wszystkich parzystych liczb całkowitych od 16 do 6 (w podanej kolejności).
Python-pętle Celem pętli często jest wyświetlenie kolumny liczb. Aby liczby wyświetlane były w należyty sposób i w pożadanym miejscu używamy operatora formatowania % w połaczeniu z ciagiem formatujacym. Ciag formatujacy składa się ze znaku %, po którym następuja opcje formatowania, ilość znaków przeznaczonych do wyświetlenia oraz typ danej do wyświetlenia (przy czym tylko trzeci element tj. typ danych jest wymagany). Typ danej sygnalizujemy pojedyncza litera. I tak: s oznacza napis i oznacza liczbę całkowita (w systemie dziesiętnym) f oznacza liczbę zmiennoprzecinkowa w postaci ułamka dziesiętnego e oznacza liczbę zmiennoprzecinkowa w postaci wykładniczej Na przykład print("%e" % 123.4)
Python-pętle Aby przekonać się na czym polega zaleta formatowania, wyświetlmy tabelę kwadratów i sześcianów wybranych liczb: for x in range(5,100,10): print(x,x**2,x**3) Jak widać kolumny liczb wyświetlane sa nierówno. Spróbujmy ustalić w formacie długość pola do wyświetlenia każdej liczby na 4, jej kwadratu na 6, a sześcianu na 8: for x in range(5,100,10): print("%4i%6i%8i" % (x,x**2,x**3))
Python-pętle Formatujac liczby zmiennopozycyjne możemy także ustalić nie tylko całkowita długość, ale także liczbę wyświetlanych miejsc po przecinku (np. na 3): for x in range(5,100,10): print( Pierwiastkiem liczby %2i jest %5.3f % (x,x**0.5)) Zadanie Napisać program, który będzie wypisywał cyfre jednostek, dziesiatek i setek liczby z zakresu od 0 do 999. Liczbę ma wprowadzać użytkownik programu. Wyniki i napisy należy rozmieścić w odpowiednich kolumnach.
Python-pętle Zadanie Napisać program, który po wprowadzeniu przez użytkownika dwóch liczb całkowitych z zakresu od 0 do 100 będzie wyświetlał ich średnia kwadratowa, arytmetyczna, geometryczna i harmoniczna. Każda średnia ma być wyświetlona w osobnym wierszu wraz z jej nazwa oraz z jakich liczb była liczona. Dokładność wyników należy ustawić na dwa miejsca po przecinku. Wyniki i napisy należy rozmieścić w odpowiednich kolumnach.
Python-pętle Funkcja len podaje długość listy, łańcucha. Możemy jej użyć w pętli, gdy nie znami długości listy. Zadanie Określ jaki jest wynik działania programu: a = [ Ala, Ela, Adam, Janek ] for i in range(len(a)): print(i, a[i]) Uwaga: Zwróć uwagę na użycie funkcji len. Zadanie Zmodyfikuj powyższy program w ten sposób, aby wyświetlał imiona z listy a oraz z ilu liter się składaja.
Python-pętle Pętle moga zawierać inne pętle mówimy wtedy o nich, że sa zagnieżdżone. Zadanie Wyjaśnić jak działa następujacy program: l1=[ a, b, c ] l2=[ d, e ] for x in l1: for y in l2: print(x, y) print(y, x) Uwaga: Zwróć uwagę w jaki sposób tworzymi bloki w pętli zagnieżdżonej.
Python-pętle Pętla while ( dopóki ) a=1 while a<10: a=a+1 print(a) else: print("koniec") Else wykona się niezależnie od tego czy while było wykonane choć raz. Zadanie Napisać program, którego wynik działania będzie identyczny jak powyższego programu, ale kod programu nie będzie zawierał polecenia else.
Python-pętle Zmiania przebiegu pętli Polecenie break przydaje się kiedy chcemy natychmiast przerwać wykonywanie pętli. Zadanie Ustalić jaki jest wynik działania programu: for i in range(100): if i==50: break print(i) Uwaga Należy zwrócić uwagę na sposób tworzenia bloków.
Python-pętle Polecenie continue działa analogicznie jak break, tylko że pętla nie jest przerywania, a jedynie pomijany jest kod po continue i pętla dalej kontynuuje działanie. Zadanie Ustalić jaki jest wynik działania programu: x=[2,-1,3,-2,9] for i in x: if i<0: continue print(i**0.5) Zadanie a)używajac m.in. polecen: range, continue i % napisz program wyznaczajacy kwadraty wszystkich liczb naturalnych od 0 do 100 niepodzielnych przez 6. b) Używajac m.in. polecen: range, continue, % oraz not napisz program wyznaczajacy kwadraty wszystkich liczb naturalnych od 1 do 1000 podzielnych przez 25.
Python-funkcje Definicja funkcji musi zawierać: 1) nagłówek funkcji obejmujacy a) nazwę funkcji, która pozwoli zidentyfikować funkcję w pozostałej części programu b) listę argumentów, która funkcja otrzymuje na poczatku działania programu 2) ciało funkcji, zawierajace instrukcje, które zostana wykonane w momencie wywołania (użycia) funkcji a) jeżeli funkcja ma zwracać jakiś rezultat, musi zawierać odpowiednia instrukcję W języku Python składnia definicji funkcji jest następujaca: def nazwa_funkcji ( lista_parametrów): instrukcje_do_wykonania
Python-funkcje Zadanie Zdefiniuj funkcję: def pierw(n): return n**0.5 oraz za jej pomoca oblicz 2. Zdefiniowana uprzednio funkcję możemy w dowolnym miejscu usunać, posługujac się instrukcja del np. del pierw Zadanie Co oblicza poniższa funkcja: def pierw(n): if n>=0: return n**0.5 else: return (-n)**0.5*1j Przetestuj jej działanie. Jakie liczby powinno się użyć przy testowaniu powyższej funkcji.
Python-funkcje Funkcja może przyjmować więcej niż jeden argument i zwracać więcej niż jeden rezultat. Zadanie Napisać funkcję, która będzie liczyła sumę odwrotności dwóch liczb. W przypadku, gdy co najmniej jedna z liczb jest zerem ma się pojawiać stosowny komunikat. Zadanie Przetestować działenie funkcji: def rs(a,b): return a+b,a-b Uwaga: Jak widać, rezultat wywołania funkcji, która zwraca więcej niż jedna wartość, jest krotka. Możemy to wykorzystać w iteracji: for n in rs(3,4): print n Lub skonwertować wynik na listę: list(rs(2,7))
Python-funkcje Jeżeli wartości, które maja zostać przekazane jako argumenty funkcji zawarte sa w sekwencji, np.: l=[2,3] nie da się bezpośrednio przekazać takiej sekwencji jako listy argumentów (gdyż traktowana jest ona jako pojedynczy argument): Sprawdź rezultat polecenia print(rs(l)). Aby dało się rozpakować elementy sekwencji używamy gwiazdki. Sprawdź rezultat polecenia print(rs(*l)).
Python-funkcje Jeżeli w momencie definiowania funkcji nie jesteśmy w stanie określić liczby argumentów, które będa do niej przekazywane, poprzedzamy nazwę parametru formalnego oznaczajacego wszystkie pozostałe argumenty funkcji gwiazdka: def suma(*arg): s=0 for x in arg: s=s+x return s Zadanie a) Przetestuj działanie powyższej funkcji. b) Sprawdź działanie polecenia print(suma(range(10))). Dlaczego nie jest ono poprawne i co zrobić, aby zadziałało?
Python-funkcje Funkcje rekurencyjne to funkcje, które odwołuja się do samych siebie. Dobrym przykładem funkcji rekurencyjnej jest silnia: def silnia(n): if n>1: return n*silnia(n-1) else: return 1 Zadanie Przetestuj działanie funkcji silnia dla kilku argumentów.
Python-funkcje Moduły służa do organizowania funkcji, zmiennych i innych elementów kodu w większe programy. Niektóre moduły sa wbudowane w Pythona, inne trzeba pobrać. Jeśli chcemy użyć jakiegość modułu musimy go zaimportować za pomoca polecenia: import nazwa_modułu Aby użyć jakiejś funkcji z modułu robimy to za pomoca polecenia: nazwa_modułu.nazwa_obiektu.nazwa_funkcji
Python-moduły Na przykład w module sys (zawierajacym programy narzędziowe służace do komunikacji z systemem Pythona) znajduje się obiekt stdin (standardowe wejście), który udostępnia funkcję readline (służac a do wpisywania tekstu z klawiatury aż do wciśnięcia ENTER). Przykład użycia tej funkcji: import sys print(sys.stdin.readline())
Python-moduły Przykład programu obliczajacego pole kwadratu z wykorzystaniem funkcji readline. Zwróć uwagę w jaki sposób za pomoca int zapisano długość kwadratu jako liczbę. import sys print("podaj długosć boku kwadratu i wciśnij enter") a=int(sys.stdin.readline()) print("pole kwadratu o boku", a, "wynosi", a**2) Zadanie Przetestować działenie tego programu. Znaleźć przynajmniej dwa różne przypadki w których program nie działa poprawnie. Zmodyfikować program, aby działał również poprawnie w tych znalezionych przypadkach.
Python-NWD Zadanie W oparciu o poniższy schemat blokowy napisz program wyznaczajacy NWD dwóch liczb. Do wczytania liczb należy użyć modułu sys.
Python-NWD Zadanie W oparciu o poprzednie zadanie napisz program wyznaczajacy NWD oraz NWW dwóch liczb a i b. W programie część obliczajaca NWD ma być zdefiniowana jako funkcja. Wynik ma być podany w postaci: NWD liczb a i b wynosi: NWW liczb a i b wynosi: gdzie w miejescu a i b będa się pojawiać wprowadzone liczby.
Python-wczytywanie listy Zanim przejdziemy do algorytmu sortujacego listę musimy zajać się wczytywaniem listy oraz znajdowaniem jej elementu najmniejszego i największego. Zadanie Uzupełnij poniższy program w ten sposób, aby wczytywał listę składajac a się z liczb zmiennoprzecinkowych za pomoca funkcji readline. A następnie wyświetlał cała listę, jej najmniejszy i największy element. Odpowiednie bloki w kodzie programu (odległość od lewego marginesu) należy ustawić samodzielnie. Do wyznaczenia elementu najmniejszego i największego należy użyć funkcji min i max. Zwróć uwagę, że na poczatku trzeba zdefiniować pusta tablice. W jaki sposób to zostało zrobione?
Python-wczytywanie listy import... a=[] print("ile elementów będzie miała lista?") n=int(...) def czytaj(): for i in... print("podaj",..., element listy")...(float(sys.stdin.readline())) return a print( Lista: ",...) print( Najmniejszy element listy: ", min(a)) print(...)
Python-wczytywanie listy Zadanie a) Dodaj do poprzedniego programu funkcje zamiana, która będzie zamienała dowolne dwa elementy listy. def zamiana(a,k,l): t=......... return a b) Za pomoca dodanej funkcji wyświetl listę w której pierwszy element będzie zamieniony z ostatnim.
Python-algorytmy sortowania Sortowanie przez wybór ciagu n liczb polega na wyszukanu w ciagu liczby największej (lub najmniejszej - w zależności od przyjętego porzadku), ustawieniu jej na poczatku ciagu, a następnie powtarzaniu tych czynności z pominięciem już uporzadkowanych liczb.
Python-algorytmy sortowania
Python-algorytmy sortowania Zadanie: Uporzadkowanie rosnaco n liczb, stosujac algorytm sortowania przez wybór. Dane: Tablica liczb a[0,...,n-1]. Wynik: Tablica liczb a[0,...,n-1], w której liczby ułożone sa w porzadku rosnacym. Podać algorytm rozwiazania powyższego zadania oraz na podstawie kodu z następniego slajdu wykonać jego implementacje w programie Python. Przetestować działanie programu.
Python-algorytmy sortowania def sortow(a,n): for i in range(n-1): minn=i... if a[j]<a[minn]:... zamiana(a,minn,i) return a
Python-funkcje losujace Liczby losowe możemy generować za pomoca modułu random. Funkcja randint(m,n) służy do losowania liczb całkowitych z zakresu od m do n np. random.randint(10,20). Funkcja choice służy do losowania elementu z listy. Natomiast shuffle do tasowania elementów listy. Zadanie a) Uzupełnij poniższy program, aby służył on do zgadywania wylosowanej liczby naturalnej z zakresu od 1 do 128. b) Opisz najlepsza strategię zgadywania liczb w danym programie. Ile maksymalnie liczb trzeba podać, aby napewno znaleźć szukana liczbę. c) Przetestować opracowania strategię z losowym zgadywaniem liczb (uwzględniajacym jedynie podpowiedź).
Python-funkcje losujace import random liczba=random.randint(1,128) print( Zgadnij liczbę naturalna z zakresu od 1 do 128 ) while True: strzał=input() i=int(strzał) if... print( Zgadłe")...... print( Szukana liczba jest większa )... print( Szukana liczba jest mniejsza")
Python-modelowanie Zadanie Używajac funkcji randint napisać program, który będzie symulował rzut moneta. Liczbę rzutów ma podawać użytkownik programu. Powyższe zadanie jest z zakresu modelowania komputerowego. W kolejnym zadaniu trzeba będzie opracować trochę bardziej skomplikowany model.
Python-modelowanie Zadanie a) Załóżmy, że nagroda jest ukryta za jedna z czterech bramek. Z tym, że szansa na to, że nagroda jest za bramka 1 wynosi 1/8, bramka 2-1/8, bramka 3-1/4 oraz bramka 4-1/2. Napisać program, który będzie losował, w której bramce jest nagroda (z uwzględnieniem podanych prawdopodobieństw). Następnie będziemy zgadywali w której bramce jest nagroda. Program ma informować, czy zgadliśmy, czy nie (jeśli nie to ma podawać, czy nagroda jest w bramce o numerze większym, czy mniejszym) i wtedy kontynuujemy zgadywanie. b) Opracować najkorzystniejsza strategię wyboru bramiki. c) Przetestować swoja strategię oraz zgadywanie bramki w sposób losowy. Porównać wyniki.
Python-praca domowa Przeczytać rozdziały 9 i 10 oraz wykonać zadania umieszczone na koncu tych rozdziałów.