Laboratorium 5


Pętla "for" cd.

Pętla for przechodząca po każdym znaku
for zmienna in napis:
	instrukcje do wykonania w pętli
Przydatne metody/funkcje:

len(napis) - zwraca długość napisu.

count(wzorzec) - zwraca informację ile razy wzorzec występuje w łańcuchu znaków.
find(wzorzec) - zwraca pozycję w której występuje wzorzec. W przypadku braku wzorca zwraca -1.
index(wzorzec) - zwraca pozycję w której występuje wzorzec.
islower() - zwraca informację czy wszystkie litery są małe.
istitle() - zwraca informację czy pierwsza litera jest małe.
isupper() - zwraca informację czy wszystkie litery są duże.
lower() - konwertuje wszystkie duże litery na małe.
replace(wzorzec1, wzorzec2) - zamienia wzorzec1 na wzorzec2.
title() - konwertuje pierwszy znak na dużą literkę.
upper() - konwertuje wszystkie małe litery na duże.

Wywołanie metody:
napis.metoda.
Odwoływanie się do pojedynczego znaku:
Odwołujemy się do pojedynczego znaku poprzez podanie indeksu. Indeksy numerowane są od 0.
Sposób odwołania się: nazwa[indeks].
Wycinanie napisu:
Wycinamy napis poprzez podanie zakresu indeksów. Indeksy numerowane są od 0. Możemy
również wstawiać wartości ujemne. Sposób wycięcia: nazwa[indeksod:indeksdo+1].
Zadania
  1. Napisz skrypt, który dla dwóch słów wyświetli informację, które słowo jest prędzej w porządku leksykograficznym i które słowo jest dłuższe, np. dla słów abba, zamek słowo abba jest prędzej w porządku leksykograficznym, natomiast słowo zamek jest dłuższe.
    Wejście:
    Zmienne napis1, napis2 przechowujące ciągi znaków zawierające jedynie znaki alfabetu angielskiego
    Wyjście:
    Na ekranie pojawia się informacja, które słowo jest dłuższe oraz które słowo jest prędzej w porządku leksykograficznym.
    Warunki poprawności zadania:
    Upewnij się, że program prawidłowo wyświetla informację które z podanych słów jest prędzej w porządku leksykograficznym oraz które jest dłuższe. Upewnij się, że pogram wypisuje odpowiednie komunikaty dla słów o różnej i tej samej długości oraz dla różnych i takich samych słów.

  2. Napisz skrypt, który dla dowolnego słowa wyświetli informację ile ma samogłosek. Załóżmy, że podane słowo nie zawiera polskich znaków. Rozwiąż to zadanie bez korzystania z wbudowanych metod oraz funkcji range
    Wejście:
    Zmienna napis przechowująca ciąg znaków zawierający jedynie znaki alfabetu angielskiego.
    Wyjście:
    Na ekranie pojawia się informacja na temat liczby samogłosek.
    Warunki poprawności zadania:
    Po podaniu słowa pojawia się informacja na temat liczby samogłosek, które zawiera podane słowo. Upewnij się, że program działa dla słowa zawierającego same samogłoski, same spółgłoski oraz dowolną liczbę samogłosek i spółgłosek.

  3. Napisz skrypt, który dla napisu zawierającego sześć znaków wyświetli jaka jest jego piąta litera oraz jaki jest ciąg od drugiego do czwartego znaku. Rozwiąż to zadanie na 2 sposoby: stosując indeksy dodatnie i indeksy ujemne.
    Wejście:
    Zmienna napis przechowująca ciąg sześciu znaków.
    Wyjście:
    Na ekranie pojawia się informacja jaka jest piąta litera napisu oraz jaki jest ciąg znaków znajdujący się od drugiego do czwartego znaku.
    Warunki poprawności zadania:
    Upewnij się, że dla różnych słów pojawiają się odpowiednio wycięte litery.

  4. Napisz skrypt, który sprawdzi czy dowolny napis jest palindromem, czyli takim słowem, które po odwróceniu jest takie samo np. palindromem jest słowo oko. Rozwiąż to zadanie bez stosowania metod/funkcji wbudowanych odwracających napis.
    Wejście:
    Zmienna napis przechowująca ciąg znaków.
    Wyjście:
    Na ekranie pojawia się informacja czy podany ciąg znaków jest palindromem.
    Warunki poprawności zadania:
    Upewnij się, że dla dowolnego słowa pojawia się informacja czy jest to palindrom. Upewnij się, że pogram działa poprawnie dla różnych słów będących i nie będących palindromem.

listy i krotki

Nadanie wartości początkowych do zmiennej przechowującej listę:

zmienna = [argument1, argument2,  ... , argumentN]
Nadanie wartości początkowych do zmiennej przechowującej krotkę:

zmienna = (argument1, argument2,  ... , argumentN)
Pętla for przechodząca po każdym elemencie listy lub krotki
for zmienna in lista_lub_krotka:
	instrukcje do wykonania w pętli
Operacje na listach/krotkach:
element in lista_lub_krotka - sprawdza, że element znajduje się w liście lub krotce.
Przydatna funkcja:
len(lista_lub_krotka) - zwraca liczbę elementów listy/krotki.
Przydatne metody na listach:
append(element) - dodaje element do listy.
clear() - usuwa wszystkie elementy z listy.
count(element) - zwraca informację ile razy element wystąpił w liście.
index(element) - zwraca indeks na którym znajduje się pierwszy znaleziony element.
insert(indeks, element) - wstawia element na określony indeks.
pop(indeks) - usuwa element znajdujący się na podanym indeksie.
remove(element) - usuwa pierwsze wystąpienie elementu.
reverse() - odwraca elementy w liście.
sort() - sortuje elementy.

Wywołanie metody: lista.metoda.
Przydatne metody na krotkach:
count(element) - zwraca informację ile razy element wystąpił w krotce.
index(element) - zwraca indeks na którym znajduje się pierwszy znaleziony element.
Wywołanie metody: krotka.metoda.
Odwoływanie się do elementu list i krotek:
Odwołujemy się do konkretnego elementu poprzez podanie indeksu. Indeksy
numerowane są od 0. Sposób odwołania się: nazwa[indeks].
Wycinanie:
Wycinamy kawałek listy poprzez podanie zakresu indeksów. Indeksy numerowane są od 0. Możemy
również używać wartości ujemnych. Sposób wycięcia: nazwa[indeksod:indeksdo+1].
Zadania
  1. Napisz skrypt, który będzie zawierał listy i krotki zawierających 7 dowolnych elementów (dowolnego typu). Jeżeli to możliwe wykorzystaj metody do wstawienia oraz jeżeli to możliwe usuń dowolny element. Następnie skrypt powinien wyświetlić jaki jest piąty element listy i krotki oraz jakie elementy znajdują się w pozycjach od drugiego do czwartego indeksu. Rozwiąż to zadanie na 2 sposoby: stosując indeksy dodatnie i indeksy ujemne oraz sprawdź czy możesz do listy i krotki wstawić dane różnych typów.
    Wejście:
    Zmienna lista i krotka przechowujące siedem danych.
    Wyjście:
    Po podaniu wszystkich danych na ekranie pojawia się element, który znajduje się na piątej pozycji w liście i krotce oraz ciąg, która znajduje się od drugiego do czwartego elementu.
    Warunki poprawności zadania:
    Upewnij się, żę program wyświetla odpowiednie elementy listy i krotki uwzględniając usunięte elementy.

  2. Napisz skrypt, który wyświetli liczby znajdujące się w liście w odwrotnej kolejności, np. podany ciąg 1 2 3, powinien zostać wyświetlony jako 3 2 1. Rozwiąż to zadanie bez korzystania metod wbudowanych odwracających listę.
    Wejście:
    Zmienna lista przechowująca listę zawierająca liczby rzeczywiste.
    Wyjście:
    Na ekranie pojawiają się liczby w odwrotnej kolejności niż występują w liście (tzn. ostatnia podana liczba powinna być pierwsza, a pierwsza podana liczba ostatnia).
    Warunki poprawności zadania:
    Upewnij się, że na ekranie pojawiają się liczby w odwrotnej kolejności niż występują w liście. Upewnij się, że program działa prawidłowo dla różnych liczb oraz dla list zawierającą różną ilość elementów.

  3. Napisz skrypt, który wyświetli iloczyn skalarny wektorów n-wymiarowych, których wartości zostały umieszczone w listach tzn. wartość określoną wzorem: pierwsza[0]*druga[0] + pierwsza[1]*druga[1] + ... + pierwsza[n-1]*druga[n-1].
    Wejście:
    Zmienne pierwsza i druga przechowująca listę zawierająca liczby rzeczywiste.
    Wyjście:
    a ekranie pojawia się iloczyn skalarny n-wymiarowych, których wartości zostały umieszczone w listach pierwsza i druga.
    Warunki poprawności zadania:
    Upewnij się, że na ekranie pojawia się odpowiedni wynik. Upewnij się, że program działa prawidłowo dla różnych wartości n oraz dla liczb dodatnich, ujemnych, całkowitych i zmiennoprzecinkowych.

  4. Napisz skrypt, który przepisze listę zawierającą napisy do innej listy pary (krotki) w postaci (napis, długość).
    Wejście:
    Zmienna lista przechowująca listę zawierająca podane napisy.
    Wyjście:
    Na ekranie pojawia się zawartość drugiej listy, która zawiera wszystkie wszystkie elementy z listy lista przepisane w postaci w postaci (napis, długość).
    Warunki poprawności zadania:
    Upewnij się czy program działa prawidłowo dla różnych napisów o różnych długościach i wyświetla poprawne wyniki.