Praca domowa 7 - grupa pierwsza Uwagi wstępne: - Podpunkty zadań punktowane są oddzielnie. - Z zadań 1-4 można wybrać dowolne podpunkty warte łącznie 6 punktów. - Premia Zadanie 0 jest polega na zainstalowaniu środowiska i jest warte 3 punkty dodatkowo. - Druga premia Dla zadań 1-4 jeżeli podpunkt został zrealizowany w postaci dzialających skryptów(plików) i/lub notatników (ipynb) to mnożymy jego wartość przez 1.33 Należy przysłać skrypt pythona lub ipythona w załączniku. Łącznie można uzyskać aż 11 punktów - zachęcam więc do pracy. 0) Instalacja śrowdowiska a) 1 punkt Zainstaluj środowisko Pythona zgodnie z instukcją zawartą na stronie: http://nbviewer.ipython.org/url/students.mimuw.edu.pl/~sb346854/Untitled4.ipynb Zainstaluj pythona i ipythona (wraz z notebookiem) b) 1 punkt stwórz notatnik wyswietlający: "Hello world :)" zapisz i przyslij jako wynik (plik .ipynb) c) 1 punkt stwórz skrypt hello.py wyświetlający napis "Hello world :)", uruchom go z konsoli poleceniem python i przyślij jako rezultat swojej pracy 1) Indeksy a) 1 punkt Stwórz listę "lista" zawierającą 10 różnych słów (napisów). b) 2 punkty Stwórz listę 10 losowych liczb całkowitych z przedziału od 0 do 9 (długość listy "lista"). Będzie to lista indeksów "ind". Użyj funkcji z biblioteki random (np randint lub choice - "from random import randint") c) 2 punkty Przy uzyciu pętli (for lub while) wyświetl liczbę z listy indeksów "ind" i odpowiadające jej słowo z listy "lista" ( wartość z listy "lista" z pozycji pobieranej z listy "ind" indeksów) 2) Odległość 2 punktów w przestrzeni trójwymiarowej a) 2 punkty Przy uzyciu funkcji random z biblioteki random wylosuj współrzedne dwóch punktów w przestrzeni trójwymiarowej. W tym celu trzykrotnie wylosuj liczbę rzeczywistą z przedziału [-5,5] określając w ten sposób współrzędne x,y,z dla danego punktu. Każdy punkt przechowuj jako listę. b) 2 punkty Napisz funkcję obliczającą odległość pomiędzy zadanymi punktami : d = ( (x1-x2)**2 + (y1-y2)**2 + (z1-z2)**2)**0.5. Do obliczania użyj pętli (for lub while) c) 3 punkty Wektoryzacja: Oblicz odległość pomiędzy punktami z wykorzystaniem tablic numpy. Poszukaj pomocy w dokumentacji numpy (wyszukaj w sieci tutorial do numpy). 3) Kodowanie - szyfr Cezara a) 1 punkt Stwórz alfabet w postaci listy znaków lub napisu mający 15 losowych/wybranych liter b) 1 punkt Losowe słowo z alfabetu Zbuduj losowe słowo zbudowane z liter należących do Twojego alfabetu. Wylosuj losowe pozycje na liście/napisie będącym reprezentacją alfabetu i złóż z nich jedno słowo. c) 2 punkty Kodowanie szyfrem Cezara Zbuduj funkcje szyfruj(slowo, przesuniecie) która zakoduje dane słowo szyfrm Cezara z wybranym przesunięciem. Funkcja zwraca w wyniku swojego działania zakodowany napis kod. d) 2 punky Dekodowanie szyfru Cezara Napisz funkcę odszyfrowującą kod Cezara. Funkcja dekoduj(kod, przesunięcie) dostaje jako argumenty zaszyfrowane słowo i przesunięcie, a zwraca w wyniku napis będący argumentem dla funkcji koduj. 4) Tablice/macierze (nie trzeba rysowac obrazków - wystarczą printy) a) 1 punkt Tablica zer Napisz funkcję która stworzy kwadratową tablicę zer o zadanym rozmiarze NxN (from numpy import zeros). Funkcja ma zwracać w wyniku swojego działania stwotrzoną tablicę. Wypisz wynik działania funkcji. arr = fun(N) print(arr) b) 1 punkt Przekatna Stwórz tablicę zer 3 na 3. Wstaw 1 na wybranej przekątnej. Wypisz tablicę. c) 2 punkty Przekątne Napisz funkcję tworzącą dużą tablicę zer o zadanym rozmiarze NxN (np 11 na 11). Napisz druga funkcję która wypełni przekątne tablicy cyframi 1. Uzyj pętli (for lub while - wskazówka mogą być przydatne dwie pętle po indeksach, jedna w drugiej). Jeżeli 1 zostaną wstawione przy pomocy wpisania ich indeksów jawnie w kod (np arr[3,3]=1 arr[5,5]==1 ...) punkty nie zostaną przyznane. Wypisz tablice - print. arr = tworz_tablice(N) # stwórz tablicę wypelnij(arr) # wypełnij tablicę jedynkami print(arr) d) 2 pubnkty Trójkąt Stwórz tablicę zer o wymiarze N na N. Wypełnij jedynkami trójkąt prostokątny, którego przyprostokątne są wybranymi bokami tabklicy a przeciwprostokątna przekątną tablicy. Wypisz wynik e) 3 punkty Szachownica Stwórz tablicę zer o wymiarze 8 na 8. Wstaw w pola naprzemiennie wybrane dwie wartości (a i b) tak by tworzyły szachownicę. Zadanie zrealizuj poprzez funkcję szachownica. Wypisz wynik. Zadanie mozna zrealizować na wiele sposobów - dla zainteresowanych warto przejrzeć tutorial do pakietu numpy. arr = szachownica(a, b)