Treści usunięte z lekcji zgodnie z podstawą programową
z 2024 r. sprawdź w e-booku podręcznika na eduranga.pl.

FilmProgramowanie w Pythonie. Funkcje obliczeniowe

Film prezentuje krok po kroku, jak rozwiązać kolejne ćwiczenia z lekcji 15 przy wykorzystaniu funkcji obliczeniowych, instrukcji warunkowych oraz pętli for.

Ćwiczenie 0

a) Zmienna x ma wartość 3, a zmienna y – wartość 5. Zastosuj zmienną pomocniczą pom i zamień te wartości.

x = 3 y = 5 # tutaj wpisz rozwiązanie pass print(x) print(y)
5 3
Rozwiąż ćwiczenie

b) Poniższy program sprawdza, czy liczba 6 jest podzielna przez 3.

Jak sprawdzić, czy liczba 14 jest podzielna przez 7?

Rozwiąż ćwiczenie

c) Przeanalizuj poniższy kod, a następnie zmień go tak, aby po uruchomieniu skryptu został poprawnie wypisany jeden z dwóch napisów: zero lub liczba różna od zera.

x = 5 if x > 0: print("liczba dodatnia") elif x == 0: print("zero") else: print("liczba ujemna")
Rozwiąż ćwiczenie

d) Poniższy program wypisuje liczby całkowite od 0 do 9 włącznie. Litera i jest nazwą zmiennej sterującej pętlą for. Funkcja range generuje indeksy dla pętli for i może przyjmować różne parametry. W przypadku jednego parametru wypisywany jest ciąg kolejnych liczb całkowitych, począwszy od zera, np.: range(5) → 0, 1, 2, 3, 4. W przypadku dwóch parametrów funkcja wypisuje ciąg kolejnych liczb całkowitych od wartości pierwszego parametru do wartości poprzedzającej wartość drugiego parametru, np.:  range(2, 5) → 2, 3, 4. W przypadku trzech parametrów funkcja wypisuje ciąg kolejnych liczb całkowitych różniących się o stałą wartość równą wartości trzeciego parametru, np.: range(0, 10, 2) → 0, 2, 4, 6, 8. Zmodyfikuj poniższy kod tak, aby wypisywały się wszystkie liczby parzyste od 2 do 20.

for i in range(10): print(i)
2 4 6 8 10 12 14 16 18 20
Rozwiąż ćwiczenie

Ćwiczenie 1Ile korali

Zdefiniuj funkcję ile(k), której parametrem jest liczba korali na boku kwadratu k, a wynikiem – łączna liczba korali we wzorze. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji ile(5) jest 25.
  • Wynikiem funkcji ile(6) jest 36.
# zdefiniuj funkcję def ile(k): pass # testy
Wynikiem funkcji ile(1) jest 1
testResult = ile(1)==1
1
ile(1)
Wynikiem funkcji ile(8) jest 64
testResult = ile(8)==64
64
ile(8)
Wynikiem funkcji ile(26) jest 676
testResult = ile(26)==676
676
ile(26)
Rozwiąż ćwiczenie

Film 1Programowanie w Pythonie. Pierwsze kroki

Film pokazuje, jak przeprowadzić instalację Pythona wraz z IDLE oraz jak napisać program z wykorzystaniem polecenia print.

Film 2Programowanie w Pythonie. Podstawowe obliczenia, zmienne i funkcje

W filmie zaprezentowano zastosowanie zmiennych i funkcji bez parametru w matematyce.

Film 3Programowanie w Pythonie. Pętla for – wprowadzenie

W filmie pokazano, kiedy i w jakim celu warto stosować pętlę for oraz funkcję range.

Film 1Programowanie w Pythonie. Szyfr Cezara

Film omawia mechanizm szyfru Cezara oraz możliwość wykorzystania kodów ASCII do szyfrowania wiadomości za pomocą szyfru Cezara w języku Python.

dziurka od klucza © sirius1/Shutterstock.com
klucz © VectorShow/Shutterstock.com

Film 2Programowanie w Pythonie. Szyfr Cezara w praktyce

Film prezentuje zadania ćwiczące wykorzystanie szyfru Cezara.

dziurka od klucza © sirius1/Shutterstock.com
klucz © VectorShow/Shutterstock.com

Ćwiczenie 0

a) Aby otrzymać kod ASCII danego znaku, należy wykorzystać funkcję ord(znak) – jeśli zastosuje się np. polecenie ord("a") program wyświetli liczbę 97, a jeśli poniższy skrypt – wyświetli litery i odpowiadające im kody ASCII od 97 do 103. Zmień parametry pętli, aby otrzymać cały alfabet łaciński.

for znak in "abcdefg": print(znak + ":", ord(znak))
a: 97 b: 98 c: 99 d: 100 e: 101 f: 102 g: 103 h: 104 i: 105 j: 106 k: 107 l: 108 m: 109 n: 110 o: 111 p: 112 q: 113 r: 114 s: 115 t: 116 u: 117 v: 118 w: 119 x: 120 y: 121 z: 122
Rozwiąż ćwiczenie

b) Funkcja odwrotna do ord(znak) to chr(kod). Pozwala ona otrzymać znak odpowiadający danemu kodowi ASCII, np. w wyniku zastosowania polecenia chr(97) otrzymamy literę a.

Sprawdź, co otrzymasz po uruchomieniu poniższego skryptu. Zauważ, że polecenie range(122, 115, -1) wskazuje na kolejne wartości od 122 do 116 z krokiem -1, czyli liczby 122, 121,…, 116.

for kod in range(122, 115, -1): print(chr(kod))
Rozwiąż ćwiczenie

Film 4Programowanie w Pythonie. Zastosowanie iteracji w pętli for

W filmie pokazano wykorzystanie pętli for do rysowania obrazków ze znaków klawiaturowych.

Ćwiczenie 2Dwukolorowy romb

Zdefiniuj funkcję ile_kolor(k, kolor), której parame­trami są liczba korali na boku kwadratu k i kolor korali – c (czerwony) lub n (niebieski), a wynikiem jest liczba korali podanego koloru we wzorze. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji ile_kolor(6, "c") jest 18.
  • Wynikiem funkcji ile_kolor(7, "c") jest 24.
  • Wynikiem funkcji ile_kolor(6, "n") jest 18.
  • Wynikiem funkcji ile_kolor(7, "n") jest 25.
# zdefiniuj funkcję def ile_kolor(k, kolor): pass # testy
Wynikiem funkcji ile_kolor(32, "c") jest 512
testResult = ile_kolor(32, "c")==512
512
ile_kolor(32, "c")
Wynikiem funkcji ile_kolor(31, "c") jest 480
testResult = ile_kolor(31, "c")==480
480
ile_kolor(31, "c")
Wynikiem funkcji ile_kolor(32, "n") jest 512
testResult = ile_kolor(32, "n")==512
512
ile_kolor(32, "n")
Wynikiem funkcji ile_kolor(31, "n") jest 481
testResult = ile_kolor(31, "n")==481
481
ile_kolor(31, "n")
Rozwiąż ćwiczenie

FilmProgramowanie w Pythonie. Szyfr przestawieniowy

W filmie przedstawiono, jak zaprogramować szyfrowanie parkanem.

Ćwiczenie 1Szyfrowanie znaku

Zdefiniuj funkcję szyfruj_znak(znak, klucz), której parametrami są – odpowiednio – dowolna mała litera alfabetu łacińskiego oraz liczba całkowita nieujemna mniejsza od 1000, a wynikiem jest litera zaszyfrowana danym kluczem. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji szyfruj_znak("a", 3) jest d.
  • Wynikiem funkcji szyfruj_znak("z", 7) jest g.
# zdefiniuj funkcję def szyfruj_znak(znak, klucz): pass # testy
Wynikiem funkcji szyfruj_znak("a", 26) jest znak a
testResult = szyfruj_znak("a", 26)=='a'
a
szyfruj_znak("a", 26)
Wynikiem funkcji szyfruj_znak("z", 13) jest znak m.
testResult = szyfruj_znak("z", 13)=='m'
m
szyfruj_znak("z", 13)
Wynikiem funkcji szyfruj_znak("c", 520) jest znak c.
testResult = szyfruj_znak("c", 520)=='c'
c
szyfruj_znak("c", 520)
Rozwiąż ćwiczenie

Ćwiczenie 2Szyfrowanie tekstu

Zdefiniuj funkcję szyfruj(tekst, klucz), której parametrami są – odpowiednio – ciąg małych liter alfabetu łacińskiego oraz liczba całkowita nieujemna mniejsza od 1000, a wynikiem jest tekst zaszyfrowany danym kluczem. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji szyfruj("kiedyspotkanie", 13) jest xvrqlfcbgxnavr.
  • Wynikiem funkcji szyfruj("tajne", 133) jest wdmqh.
def szyfruj_znak(znak, klucz): return chr((ord(znak) - 97 + klucz) % 26 + 97) # zdefiniuj funkcję def szyfruj(tekst, klucz): pass # testy
Wynikiem funkcji szyfruj("innabajka", 13) jest ciąg znaków vaanonwxn.
testResult = szyfruj("innabajka", 13)=="vaanonwxn"
vaanonwxn
szyfruj("innabajka", 13)
Wynikiem funkcji szyfruj("celujdobrze", 520) jest ciąg znaków celujdobrze.
testResult = szyfruj("celujdobrze", 520)=="celujdobrze"
celujdobrze
szyfruj("celujdobrze", 520)
Wynikiem funkcji szyfruj("rakinieboraki", 99) jest ciąg znaków mvfdidzwjmvfd.
testResult = szyfruj("rakinieboraki", 99)=="mvfdidzwjmvfd"
mvfdidzwjmvfd
szyfruj("rakinieboraki", 99)
Rozwiąż ćwiczenie

Ćwiczenie 3Odszyfrowywanie tekstu

Wynikiem zdefiniowanej poniżej funkcji deszyfruj(tekst, klucz) powinien być od­szyfrowany tekst z danym kluczem, np.:

  • wynikiem funkcji deszyfruj("xvrqlfcbgxnavr", 13) jest ciąg znaków kiedyspotkanie,
  • wynikiem funkcji deszyfruj("wdmqh", 133) jest ciąg znaków tajne.

Przeanalizuj podane informacje i popraw błąd w skrypcie.

def szyfruj_znak(znak, klucz): return chr((ord(znak) - 97 + klucz) % 26 + 97) def szyfruj(tekst, klucz): pom = "" for znak in tekst: pom = pom + szyfruj_znak(znak, klucz) return pom def deszyfruj(tekst, klucz): return szyfruj(tekst, 26 + klucz) print (deszyfruj("xvrqlfcbgxnavr",13)) print (deszyfruj("wdmqh", 133))
Wynikiem funkcji deszyfruj("pwfaijeyw", 126) jest ciąg znaków tajemnica.
testResult = deszyfruj("pwfaijeyw", 126)=="tajemnica"
tajemnica
deszyfruj("pwfaijeyw", 126)
Wynikiem funkcji deszyfruj("vaanonwxn", 13) jest ciąg znaków innabajka.
testResult = deszyfruj("vaanonwxn", 13)=="innabajka"
innabajka
deszyfruj("vaanonwxn", 13)
Wynikiem funkcji deszyfruj("tuvuqu", 410) jest ciąg znaków zabawa.
testResult = deszyfruj("tuvuqu", 410)=="zabawa"
zabawa
deszyfruj("tuvuqu", 410)
Rozwiąż ćwiczenie

Film 1Programowanie w Pythonie. Wyszukiwanie wzorca w tekście. Operacje na napisach

Film omawia algorytm naiwny wyszukiwania wzorca w tekście i prezentuje podstawowe operacje na napisach, m.in. konkatenację napisów, wyznaczanie długości napisu, analizowanie napisu znak po znaku.

Ćwiczenie 3Piramida

Zdefiniuj funkcję piramida(k), której parametrem jest liczba korali w podstawie k, a wynikiem – łączna liczba korali. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji piramida(5) jest 15.
  • Wynikiem funkcji piramida(6) jest 21.
# zdefiniuj funkcję def piramida(k): pass # testy
Wynikiem funkcji piramida(1) jest 1
testResult = piramida(1)==1
1
piramida(1)
Wynikiem funkcji piramida(8) jest 36
testResult = piramida(8)==36
36
piramida(8)
Wynikiem funkcji piramida(26) jest 351
testResult = piramida(26)==351
351
piramida(26)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 1

Zdefiniuj funkcję lata(ile), której parametrem jest liczba lat danego człowieka, a wynikiem: 0 – jeśli dana osoba jest niepełnoletnia (ma mniej niż 18 lat), 2 – jeśli dana osoba jest w wieku 50+, 1 – w pozostałych przypadkach. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji lata(14) jest 0.
  • Wynikiem funkcji lata(46) jest 1.
  • Wynikiem funkcji lata(65) jest 2.
# zdefiniuj funkcję def lata(ile): pass # testy
Wynikiem funkcji lata(16) jest 0
testResult = lata(16)==0
0
lata(16)
Wynikiem funkcji lata(18) jest 1
testResult = lata(18)==1
1
lata(18)
Wynikiem funkcji lata(96) jest 2
testResult = lata(96)==2
2
lata(96)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 2

BMI to wskaźnik masy ciała, który obliczamy przez podzielenie masy ciała podanej w kilogramach przez kwadrat wysokości podanej w metrach. Zdefiniuj funkcję bmi(kg, m), której parametrami są waga podana w kilogramach oraz wzrost podany w metrach, a wynikiem jest jeden z trzech komunikatów w zależności od wartości BMI:

  • niedowaga dla BMI < 18,5,
  • nadwaga dla BMI > 25,
  • waga prawidłowa dla pozostałych wartości.

Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji bmi(50, 1.63) jest waga prawidłowa.
  • Wynikiem funkcji bmi(44, 1.63) jest niedowaga.
  • Wynikiem funkcji bmi(90, 1.63) jest nadwaga.
# zdefiniuj funkcję def bmi(kg, m): pass # testy
Wynikiem funkcji bmi(34,1.56) jest niedowaga
testResult = bmi(34,1.56)=='niedowaga'
niedowaga
bmi(34,1.56)
Wynikiem funkcji bmi(74,1.56) jest nadwaga
testResult = bmi(74,1.56)=='nadwaga'
nadwaga
bmi(74,1.56)
Wynikiem funkcji bmi(54,1.64) jest waga prawidłowa
testResult = bmi(54,1.64)=='waga prawidłowa'
waga prawidłowa
bmi(54,1.64)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 3

Zdefiniuj funkcję naj(liczba1, liczba2, liczba3), której parametrami są trzy liczby całkowite, a wynikiem jest największa z nich. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji naj(1, 2, 3) jest 3.
  • Wynikiem funkcji naj(99, 33, 12) jest 99.
# zdefiniuj funkcję def naj(liczba1, liczba2, liczba3): pass # testy
Wynikiem funkcji naj(24,5,6) jest 24
testResult = naj(24,5,6)==24
24
naj(24,5,6)
Wynikiem funkcji naj(14,8,6) jest 14
testResult = naj(14,8,6)==14
14
naj(14,8,6)
Wynikiem funkcji naj(24,55,16) jest 55
testResult = naj(24,55,16)==55
55
naj(24,55,16)
Rozwiąż ćwiczenie

Film 5Programowanie w Pythonie. Funkcje z parametrem

W filmie zaprezentowano definiowanie funkcji z parametrem oraz zastosowanie pętli while.

Film 6Programowanie w Pythonie. Zastosowanie instrukcji warunkowej

W filmie zaprezentowano budowę instrukcji warunkowej oraz przykłady jej zastosowania.

InfografikaPodstawowe konstrukcje programistyczne

Infografika przedstawia podstawowe konstrukcje programistyczne, tj. sekwencję poleceń, instrukcję warunkową oraz pętle for i while.

PrezentacjaPython – powtórzenie

Prezentacja przypomina operatory arytmetyczne stosowane w języku Python, konstrukcję instrukcji warunkowej oraz pętli for i while.

Ćwiczenie 0

Kliknij polecenie ROZWIĄŻ ĆWICZENIE, aby wyświetlić edytor, w którym będziesz pisać swoje programy. Sprawdź, jaki jest efekt zapisanego kodu – kliknij przycisk URUCHOM PROGRAM.

print("Zaczynam programować") print("w Pythonie")
Rozwiąż ćwiczenie

W większości ćwiczeń oprócz wyniku dla parametrów zadanych przez ciebie zobaczysz też dodatkowe testy, dokładniej sprawdzające uruchomiony program – jeśli w tabeli zawierającej wyniki testów wartości w kolumnach Oczekiwano i Otrzymano są jednakowe, wyświetli się wynik Pozytywny, który oznacza, że twój program został poprawnie skonstruowany. Jeśli choć jeden wynik testu będzie oznaczony jako Negatywny, musisz coś jeszcze poprawić.

Ćwiczenie 1Wypisywanie tekstu

Wypisz na ekranie trzy wybrane przez siebie hasła na temat podróżowania. Każde z nich powinno wyświetlać się w nowym wierszu.

print("pierwsze hasło") print("drugie hasło") print("trzecie hasło")
Rozwiąż ćwiczenie

Film 2Programowanie w Pythonie. Wyszukiwanie wzorca
w tekście. Analiza napisów

Film prezentuje ćwiczenia polegające na analizie napisów i wymagające zliczenia ciągów znaków, zmiany struktury ciągu znaków oraz wyznaczenia sekwencji błędów.

DNA © ShadeDesign/Shutterstock.com

Ćwiczenie 2Podstawowe działania arytmetyczne

Wyznacz kolejno: sumę, różnicę, iloczyn, iloraz, iloraz całkowity, resztę z dzielenia całkowitego oraz kwadrat liczby. Do obliczeń wykorzystaj liczby całkowite.

print(7 + 2) print(7 - 2) #wpisz kolejne działania
9 5 14 3.5 3 1 49
Rozwiąż ćwiczenie

Ćwiczenie 3Kupowanie obcej waluty

Oblicz, ile musisz zapłacić w złotówkach za 126 euro, jeśli 1 euro = 4,74 zł.

print(# wpisz swoje rozwiązanie)
597.24
Rozwiąż ćwiczenie

InfografikaAlgorytm

Infografika pokazuje, czym jest algorytm, na prostym przykładzie z życia codziennego.

Ćwiczenie 4Porównanie cen wyrażonych w różnych walutach

Te same buty w Grecji kosztują 49 euro, a w Polsce 200 zł. Sprawdź, czy buty kupio­ne w Grecji są droższe niż buty kupione w Polsce, jeśli 1 euro = 4,76 zł. Zastosuj operatory arytmetyczne i porównania.

print(49 # wpisz operator 4.76 # wpisz operator 200)
True
Rozwiąż ćwiczenie

Ćwiczenie 5Średni dystans

W czasie wakacji uczniowie na obozie wędrownym przeszli w ciągu kolejnych trzech dni 12, 14 i 18 km. Zdefiniuj odpowiednie zmienne i oblicz średnią długość pokony­wanych tras.

#zdefiniuj zmienne #oblicz średni dystans i wypisz wynik
Rozwiąż ćwiczenie

Ćwiczenie 6Przeliczanie prędkości

Samolot z Warszawy do Rzymu pokonuje dystans 1320 km. Zdefiniuj funkcję jak_szybko(t), której parametrem jest czas przelotu samolo­tu w godzinach, a wynikiem – średnia prędkość tego samolotu. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji jak_szybko(2.5) jest 528.0.
  • Wynikiem funkcji jak_szybko(3) jest 440.0.
# zdefiniuj funkcję def jak_szybko(t): pass # testy print(jak_szybko(2.5)) print(jak_szybko(3))
Wynikiem funkcji jak_szybko(2.75) jest 480.0
testResult = jak_szybko(2.75)==480.0
480.0
jak_szybko(2.75)
Wynikiem funkcji jak_szybko(3.3) jest 400.0
testResult = jak_szybko(3.3)==400.0
400.0
jak_szybko(3.3)
Wynikiem funkcji jak_szybko(2) jest 660.0
testResult = jak_szybko(2)==660.0
660.0
jak_szybko(2)
Rozwiąż ćwiczenie

Ćwiczenie 7Przeliczanie jednostek

Mila lądowa, jednostka długości stosowana w krajach anglosaskich, równa jest 1,609 km. Zdefiniuj funkcję zamiana(m), której parame­trem jest odległość w milach lądowych, a wynikiem – ta sama odległość w kilometrach. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji zamiana(10) jest 16.09.
  • Wynikiem funkcji zamiana(12) jest 19.308.
# zdefiniuj funkcję def zamiana(m): pass # testy
Wynikiem funkcji zamiana(100) jest 160.9
testResult = zamiana(100)==160.9
160.9
zamiana(100)
Wynikiem funkcji zamiana(400) jest 643.6
testResult = zamiana(400)==643.6
643.6
zamiana(400)
Wynikiem funkcji zamiana(898) jest 1444.882
testResult = zamiana(898)==1444.882
1444.882
zamiana(898)
Rozwiąż ćwiczenie

Ćwiczenie 8O której godzinie pociąg dotrze do celu

Nocny pociąg z Krakowa do Paryża wyjeżdża ze stacji o godzinie 21. Zdefiniuj funkcję godzina(n), której parametrem jest czas przejazdu pociągu w godzinach, a wynikiem – godzina dojazdu do celu. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji godzina(14) jest 11.
  • Wynikiem funkcji godzina(20) jest 17.
# zdefiniuj funkcję def godzina(n): pass # testy
Wynikiem funkcji godzina(16) jest 13
testResult = godzina(16)==13
13
godzina(16)
Wynikiem funkcji godzina(5) jest 2
testResult = godzina(5)==2
2
godzina(5)
Wynikiem funkcji godzina(2) jest 23
testResult = godzina(2)==23
23
godzina(2)
Rozwiąż ćwiczenie

Ćwiczenie 0

Aby stworzyć program, którego wynikiem będzie dany napis z pominiętymi literami, np. a, trzeba przeanalizować napis znak po znaku za pomocą pętli for. Do zmiennej będącej wynikiem, której wartość początkowa jest pustym napisem, należy dodać tylko znaki niebędące literą a. Przeanalizuj zapis, a następnie zmodyfikuj kod tak, aby otrzymać napis z pominiętymi spacjami.

def pomin(napis): pom = "" for zn in napis: if zn != "a": pom = pom + zn return pom print(pomin("agama brodata")) print(pomin("papuga")) print(pomin("delfin butelkonosy")) print(pomin("salamandra czerwona z licznymi plamkami"))
Wynikiem funkcji pomin("lampart") jest lampart
testResult = pomin("lampart")=="lampart"
lampart
pomin("lampart")
Wynikiem funkcji pomin(" g e p a r d ") jest gepard
testResult = pomin(" g e p a r d ")=="gepard"
gepard
pomin(" g e p a r d ")
Wynikiem funkcji pomin("za skro niec ") jest zaskroniec
testResult = pomin("za skro niec ")=="zaskroniec"
zaskroniec
pomin("za skro niec ")
Rozwiąż ćwiczenie

Ćwiczenie 1Przestawianie parami

Zdefiniuj funkcję szyfr(s), której parametrem jest tekst jawny składający się z małych liter alfabetu łacińskiego i pojedynczych spacji, a wy­nikiem – szyfrogram utworzony przez przestawienie kolejnych par znaków, przy czym spacja traktowana jest jak każda inna litera i również podlega zamianie. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji szyfr("kotwica") jest okwtcia.
  • Wynikiem funkcji szyfr("szyfrowanie jest trudne") jest zsfyorawin eejtst urnde.
# zdefiniuj funkcję def szyfr(s): pass # testy
Wynikiem funkcji szyfr(" pierwsza") jest p eiwrzsa
testResult = szyfr(" pierwsza")=="p eiwrzsa"
p eiwrzsa
szyfr(" pierwsza")
Wynikiem funkcji szyfr("ostatnia ") jest soatntai
testResult = szyfr("ostatnia ")=="soatntai "
soatntai
szyfr("ostatnia ")
Wynikiem funkcji szyfr("w") jest w
testResult = szyfr("w")=="w"
w
szyfr("w")
Rozwiąż ćwiczenie

Ćwiczenie 9Która godzina będzie w Nowym Jorku

Sprawdź, jaka strefa czasowa obowiązuje w Nowym Jorku, a następnie zdefiniuj funkcję godz_nj(g), której parametrem jest pełna godzina w Warszawie, a wynikiem – aktualna pełna godzina w Nowym Jorku. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji godz_nj(18) jest 12.
  • Wynikiem funkcji godz_nj(2) jest 20.
# zdefiniuj funkcję def godz_nj(g): pass # testy
Wynikiem funkcji godz_nj(16) jest 10.
testResult = godz_nj(16)==10
10
godz_nj(16)
Wynikiem funkcji godz_nj(5) jest 23
testResult = godz_nj(5)==23
23
godz_nj(5)
Wynikiem funkcji godz_nj(21) jest 15
testResult = godz_nj(21)==15
15
godz_nj(21)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 4

Zdefiniuj funkcję waga(pocz, n), której parametrami są masa żuczka po urodzeniu podana w gramach oraz liczba miesięcy jego życia, a wynikiem jest masa żuczka po upływie n miesięcy. Załóż, że pierwszym miesiącu żuczek tyje o 2 g, w drugim o 4 g i w każdym następnym miesiącu o 2 g więcej niż w poprzednim. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji waga(2, 2) jest 8.
  • Wynikiem funkcji waga(5, 3) jest 17.
# zdefiniuj funkcję def waga(pocz, n): pass # testy
Wynikiem funkcji waga(15,3) jest 27
testResult = waga(15,3)==27
27
waga(15,3)
Wynikiem funkcji waga(5,33) jest 1127
testResult = waga(5,33)==1127
1127
waga(5,33)
Wynikiem funkcji waga(12,365) jest 133602
testResult = waga(12,365)==133602
133602
waga(12,365)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 5

Zdefiniuj funkcję skarbonka(ile, n), której parametrami są początkowa kwota w złotówkach znajdująca się w skarbonce oraz liczba miesięcy, a wynikiem jest suma pieniędzy w skarbonce po upływie n miesięcy. Załóż, że w pierwszym miesiącu wrzucamy do skarbonki 1 zł, a w każdym następnym dwa razy więcej niż w poprzednim, czyli kolejno 1 zł, 2 zł, 4 zł, 8 zł, 16 zł… Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji skarbonka(12, 2) jest 15.
  • Wynikiem funkcji skarbonka(0, 5) jest 31.
# zdefiniuj funkcję def skarbonka(ile, n): pass # testy
Wynikiem funkcji skarbonka(11,2) jest 14
testResult = skarbonka(11,2)==14
14
skarbonka(11,2)
Wynikiem funkcji skarbonka(0,15) jest 32767
testResult = skarbonka(0,15)==32767
32767
skarbonka(0,15)
Wynikiem funkcji skarbonka(110,12) jest 4205
testResult = skarbonka(110,12)==4205
4205
skarbonka(110,12)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 1

Poniższy program pozwala obliczyć obwód kwadratu na podstawie długości jego boku. Przeanalizuj zapis i sprawdź działanie skryptu. Zmodyfikuj program tak, aby obliczał pole kwadratu. Zdefiniuj funkcję pole_kw(bok).

def obw_kw(bok): return 4 * bok # testy print(obw_kw(25)) print(obw_kw(101))
test pole_kw(1)
testResult = pole_kw(1)==1
1
pole_kw(1)
pole_kw(3)
testResult = pole_kw(3)==9
9
pole_kw(3)
pole_kw(99)
testResult = pole_kw(99)==9801
9801
pole_kw(99)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 6

Zdefiniuj funkcję jaki(n), której parametrem jest liczba naturalna n ≥ 3, a wynikiem – n-ty wyraz ciągu. Załóż, że pierwszy wyraz tego ciągu to 1, drugi to 2, a każdy następny równa się sumie dwóch poprzednich wyrazów pomniejszonej o 1, czyli kolejno: 1, 2, 2, 3, 4, 6, 9, 14, … Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji jaki(5) jest 4.
  • Wynikiem funkcji jaki(9) jest 22.
# zdefiniuj funkcję def jaki(n): pass # testy
Wynikiem funkcji jaki(6) jest 6
testResult = jaki(6)==6
6
jaki(6)
Wynikiem funkcji jaki(16) jest 611
testResult = jaki(16)==611
611
jaki(16)
Wynikiem funkcji jaki(29) jest 317812
testResult = jaki(29)==317812
317812
jaki(29)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 2

Zdefiniuj funkcję obw_pr(bok1, bok2), której parametrami są dwie liczby będące długościami boków prostokąta, a wynikiem jest obwód tego prostokąta. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji obw_pr(25, 30) jest 110.
  • Wynikiem funkcji obw_pr(105, 95) jest 400.
# zdefiniuj funkcję def obw_pr(bok1, bok2): pass # testy
Wynikiem funkcji obw_pr(1, 2) jest 6
testResult = obw_pr(1, 2)==6
6
obw_pr(1, 2)
Wynikiem funkcji obw_pr(11, 9) jest 40
testResult = obw_pr(11, 9)==40
40
obw_pr(11, 9)
Wynikiem funkcji obw_pr(159, 200) jest 718
testResult = obw_pr(159, 200)==718
718
obw_pr(159, 200)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 7

Ciąg Collatza zdefiniowany jest następująco: pierwsza liczba ciągu jest dowolną liczbą naturalną c, każda kolejna wartość ciągu obliczana jest na podstawie poprzedniej według następującej reguły: jeśli dana liczba jest parzysta, to dzielimy ją przez 2, w przeciwnym wypadku mnożymy ją przez 3 i dodajemy 1. Zdefiniuj funkcję collatz, której parametrami są liczba całkowita dodatnia c, od której zaczynamy obliczenia, i liczba powtórzeń n, natomiast wynikiem jest n-ty wyraz ciągu Collatza. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji collatz(11, 5) jest 13.
  • Wynikiem funkcji collatz(1, 10) jest 4.
# zdefiniuj funkcję def collatz(c, n): pass # testy
Wynikiem funkcji collatz(7, 5) jest 52
testResult = collatz(7, 5)==52
52
collatz(7, 5)
Wynikiem funkcji collatz(119, 19) jest 11
testResult = collatz(119, 19)==11
11
collatz(119, 19)
Wynikiem funkcji collatz(51, 99) jest 1
testResult = collatz(51, 99)==1
1
collatz(51, 99)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 8

Zdefiniuj funkcję suma(liczba), której parametrem jest liczba całkowita dodatnia, a wynikiem  suma nieparzystych cyfr tej liczby. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji suma(1122445) jest 7.
  • Wynikiem funkcji suma(986713) jest 20.
# zdefiniuj funkcję def suma(liczba): pass # testy
Wynikiem funkcji suma(222222) jest 0
testResult = suma(222222)==0
0
suma(222222)
Wynikiem funkcji suma(983451) jest 18
testResult = suma(983451)==18
18
suma(983451)
Wynikiem funkcji suma(123987) jest 20
testResult = suma(123987)==20
20
suma(123987)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 9

W edytorze zapisano fragment funkcji obliczającej NWD liczb a i b. Przeczytaj pytanie, uzupełnij funkcję i wskaż właściwą odpowiedź.

def NWD(a, b): i = 0 while a != b: if a > b: a = a - b i += 1 else: b = b - a i += 1
Rozwiąż ćwiczenie
Twój wynik to: /1
  • Jaka będzie liczba iteracji przy wywołaniu NWD(30, 8)?

Ćwiczenie 4Inaczej na pozycjach nieparzystych i parzystych

Zdefiniuj funkcję szyfruj2(tekst, klucz1, klucz2), której parametrami są – odpowiednio – ciąg małych liter alfabetu łacińskiego oraz dwie liczby całkowite, a wynikiem jest tekst zaszyfrowany w ten sposób, że litery na pozycjach parzystych zaszyfrowano kluczem klucz1, a na nieparzystych – kluczem klucz2. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji szyfruj2("poufnytekst", 3, 10) jest zreixbdhuvd.
  • Wynikiem funkcji szyfruj2("poczekajnamnie", 123, 5) jest uhhsjdfcstrgnx.
# zdefiniuj funkcję def szyfruj2(tekst, klucz1, klucz2): pass # testy
Wynikiem funkcji szyfruj2("innabajka", 13, 104) jest ciąg znaków iannbnjxa
testResult = szyfruj2("innabajka", 13, 104)=="iannbnjxa"
iannbnjxa
szyfruj2("innabajka", 13, 104)
Wynikiem funkcji szyfruj2("celujtam", 520, 728) jest ciąg znaków celujtam
testResult = szyfruj2("celujtam", 520, 728)=="celujtam"
celujtam
szyfruj2("celujtam", 520, 728)
Wynikiem funkcji szyfruj2("otokot", 410, 897) jest ciąg znaków bnbebn
testResult = szyfruj2("otokot", 410, 897)=="bnbebn"
bnbebn
szyfruj2("otokot", 410, 897)
Rozwiąż ćwiczenie

Ćwiczenie 2Parkan

Zdefiniuj funkcję parkan(s), której parametrem jest tekst jawny złożony z małych liter alfabetu łacińskiego, a wynikiem – szyfrogram utwo­rzony za pomocą szyfru parkan. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji parkan("fronty") jest fotrny.
  • Wynikiem funkcji parkan("tajne") jest tjean.
# zdefiniuj funkcję def parkan(s): pass # testy
Wynikiem funkcji parkan("abba") jest abba
testResult = parkan("abba")=="abba"
abba
parkan("abba")
Wynikiem funkcji parkan("k") jest k
testResult = parkan("k")=="k"
k
parkan("k")
Wynikiem funkcji parkan("kkllaassaa") jest klasaklasa
testResult = parkan("kkllaassaa")=="klasaklasa"
klasaklasa
parkan("kkllaassaa")
Rozwiąż ćwiczenie

Ćwiczenie 4Czy to jest palindrom

Zdefiniuj funkcję logiczną czy_palindrom(s), której pa­rametrem jest napis zawierający tylko małe litery alfabetu łacińskiego, a wynikiem – wartość logiczna True, gdy napis jest palindromem, lub False, gdy nim nie jest. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji czy_palindrom("aabbaa") jest True.
  • Wynikiem funkcji czy_palindrom("aaxyaa") jest False.
# zdefiniuj funkcję def czy_palindrom(s): pass # testy
Wynikiem funkcji czy_palindrom("p") jest słowo True
testResult = czy_palindrom("p")==True
True
czy_palindrom("p")
Wynikiem funkcji czy_palindrom("prawda") jest słowo False
testResult = czy_palindrom("prawda")==False
False
czy_palindrom("prawda")
Wynikiem funkcji czy_palindrom("abcddcba") jest słowo True
testResult = czy_palindrom("abcddcba")==True
True
czy_palindrom("abcddcba")
Rozwiąż ćwiczenie

Ćwiczenie 0

Jeśli trzeba przeanalizować napis znak po znaku, najlepiej zrobić to za pomocą pętli for. Wartość początkowa zmiennej będącej wynikiem powinna być tzw. pustym napisem. Wynikiem zdefiniowanej poniżej funkcji papuga(napis) jest napis z podwojoną każdą literą. Zmodyfikuj kod tak, aby po uruchomieniu skryptu otrzymać napis z potrojoną każdą literą.

def papuga(napis): pom = "" for znak in napis: pom = pom + znak + znak return pom print(papuga("agawa")) print(papuga("krokus"))
Wynikiem funkcji papuga("bez") jest lista bbbeeezzz.
testResult = papuga("bez")=='bbbeeezzz'
bbbeeezzz
papuga("bez")
Wynikiem funkcji papuga("bratki") jest lista bbbrrraaatttkkkiii.
testResult = papuga("bratki")=='bbbrrraaatttkkkiii'
bbbrrraaatttkkkiii
papuga("bratki")
Wynikiem funkcji papuga("-*-") jest lista ---***---
testResult = papuga("-*-")=='---***---'
---***---
papuga("-*-")
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 3

Zdefiniuj funkcję waga(kg), której parametrem jest waga towaru podana w kilogramach, a wynikiem – ta sama waga podana w funtach. Załóż, że 1 kg = 2,2 funta. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji waga(2) jest 4.4.
  • Wynikiem funkcji waga(15) jest 33.0.
# zdefiniuj funkcję def waga(kg): pass # testy
Wynikiem funkcji waga(1) jest 2.2
testResult = waga(1)==2.2
2.2
waga(1)
Wynikiem funkcji waga(10) jest 22.0
testResult = waga(10)==22.0
22.0
waga(10)
Wynikiem funkcji waga(80) jest 176.0
testResult = waga(80)==176.0
176.0
waga(80)
Rozwiąż ćwiczenie

Ćwiczenie 1Zliczanie pojedynczych znaków w tekście

Zdefiniuj funkcję ile(s), której parametrem jest ciąg zna­ków, a wynikiem – lista czterech liczb całkowitych oznaczających, ile razy symbole A, C, G i T występują w tym ciągu znaków. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji ile("CAATAAAAA") jest lista [7, 1, 0, 1].
  • Wynikiem funkcji ile("TCTAAAGATATCGGG") jest lista [5, 2, 4, 4].

a) Wykorzystaj pętlę for i instrukcję warunkową.

# zdefiniuj funkcję def ile(s): pass # testy
Wynikiem funkcji ile("AAAAAA") jest lista [6, 0, 0, 0].
testResult = ile("AAAAAA")==[6, 0, 0, 0]
[6, 0, 0, 0]
ile("AAAAAA")
Wynikiem funkcji ile("CCC") jest lista [0, 3, 0, 0].
testResult = ile("CCC")==[0, 3, 0, 0]
[0, 3, 0, 0]
ile("CCC")
Wynikiem funkcji ile("T") jest lista [0, 0, 0, 1].
testResult = ile("T")==[0, 0, 0, 1]
[0, 0, 0, 1]
ile("T")
Rozwiąż ćwiczenie

b) Zastosuj operacje na napisach.

# zdefiniuj funkcję def ile(s): pass # testy
Wynikiem funkcji ile("AAAAAA") jest lista [6, 0, 0, 0].
testResult = ile("AAAAAA")==[6, 0, 0, 0]
[6, 0, 0, 0]
ile("AAAAAA")
Wynikiem funkcji ile("CCC") jest lista [0, 3, 0, 0].
testResult = ile("CCC")==[0, 3, 0, 0]
[0, 3, 0, 0]
ile("CCC")
Wynikiem funkcji ile("T") jest lista [0, 0, 0, 1].
testResult = ile("T")==[0, 0, 0, 1]
[0, 0, 0, 1]
ile("T")
Rozwiąż ćwiczenie

Ćwiczenie 2Zliczanie ciągów znaków w tekście

Zdefiniuj funkcję pary(s), której parametrem jest łań­cuch DNA, a wynikiem – liczba wystąpień par jednakowych symboli (np. TTAT – 1, TTTA – 2, TATA – 0). Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji pary("TGATTCTGAACAAGTGTT") jest 4.
  • Wynikiem funkcji pary("TGATATTCGATGTGAAAAAGTCATACTGTT") jest 6.
# zdefiniuj funkcję def pary(s): pass # testy
Wynikiem funkcji pary("ACGTGTCA") jest 0.
testResult = pary("ACGTGTCA")==0
0
pary("ACGTGTCA")
Wynikiem funkcji pary("ACGTTT") jest 2.
testResult = pary("ACGTTT")==2
2
pary("ACGTTT")
Wynikiem funkcji pary("T") jest 0.
testResult = pary("T")==0
0
pary("T")
Rozwiąż ćwiczenie

Ćwiczenie 3Zmiana struktury ciągu znaków

Odwrotne uzupełnienie łańcucha DNA to ciąg utworzony przez odwrócenie dane­go ciągu i dopełnienie każdego symbolu, tj. zamiany A na T i odwrotnie oraz C na G i odwrotnie (np. CTGA → AGTC → TCAG). Zdefiniuj funkcję oduz(s), której parametrem jest łańcuch DNA, a wynikiem jego odwrotne uzupełnienie. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji oduz("TGACCCA") jest TGGGTCA.
  • Wynikiem funkcji oduz("TGATATTCGATGTGAAAAA") jest TTTTTCACATCGAATATCA.
# zdefiniuj funkcję def oduz(s): pass # testy
Wynikiem funkcji oduz("AAAAAGG") jest CCTTTTT
testResult = oduz("AAAAAGG")=="CCTTTTT"
CCTTTTT
oduz("AAAAAGG")
Wynikiem funkcji oduz("ATGC") jest GCAT
testResult = oduz("ATGC")=="GCAT"
GCAT
oduz("ATGC")
Wynikiem funkcji oduz("C") jest G
testResult = oduz("C")=="G"
G
oduz("C")
Rozwiąż ćwiczenie

Ćwiczenie 4Zmiana struktury ciągu znaków

Zdefiniuj funkcję ta(s), której parametrem jest łańcuch DNA, a wynikiem  łańcuch DNA z gwiazdką (*) w miejscu symboli C, G i T. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji ta("TGACCCA") jest **A***A.
  • Wynikiem funkcji ta("TGATATTCGATGTGAAAAA") jest **A*A****A****AAAAA.
# zdefiniuj funkcję def ta(s): pass # testy
Wynikiem funkcji ta("CCCC") jest ****.
testResult = ta("CCCC")=="****"
****
ta("CCCC")
Wynikiem funkcji ta("CAGATTTT") jest *A*A****
testResult = ta("CAGATTTT")=="*A*A****"
*A*A****
ta("CAGATTTT")
Wynikiem funkcji ta("ATGCCGTA") jest A******A
testResult = ta("ATGCCGTA")=="A******A"
A******A
ta("ATGCCGTA")
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 1

Twój wynik to: /1
  • Zaznacz zdanie prawdziwe.

Ćwiczenie dodatkowe 2

Zdefiniuj funkcję codruga(napis), której wynikiem jest napis z pominiętym co drugim znakiem. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji codruga("aksamitka") jest asmta.
  • Wynikiem funkcji codruga("chaber") jest cae.
# zdefiniuj funkcję def codruga(napis): pass # testy
Wynikiem funkcji codruga("irys") jest iy
testResult = codruga("irys")=="iy"
iy
codruga("irys")
Wynikiem funkcji codruga("magnolia") jest mgoi
testResult = codruga("magnolia")=="mgoi"
mgoi
codruga("magnolia")
Wynikiem funkcji codruga("rosiczka") jest rsck
testResult = codruga("rosiczka")=="rsck"
rsck
codruga("rosiczka")
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 3

Zdefiniuj funkcję wspak(napis), której wynikiem jest napis ze znakami przestawionymi od końca do początku. Rozwiązanie zapisz za pomocą pętli. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji wspak("aloes") jest seola.
  • Wynikiem funkcji wspak("dalia") jest ailad.
# zdefiniuj funkcję def wspak(napis): pass # testy
Wynikiem funkcji wspak("kaktus") jest sutkak
testResult = wspak("kaktus")=="sutkak"
sutkak
wspak("kaktus")
Wynikiem funkcji wspak("mak") jest kam
testResult = wspak("mak")=="kam"
kam
wspak("mak")
Wynikiem funkcji wspak("orchidea") jest aedihcro
testResult = wspak("orchidea")=="aedihcro"
aedihcro
wspak("orchidea")
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 4

Zdefiniuj funkcję lustro(napis), której wynikiem jest napis z połączonym napisem wspak. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji lustro("aster") jest asterretsa.
  • Wynikiem funkcji lustro("peonia") jest peoniaainoep.
# zdefiniuj funkcję def lustro(napis): pass # testy
Wynikiem funkcji lustro("kalina") jest kalinaanilak
testResult = lustro("kalina")=="kalinaanilak"
kalinaanilak
lustro("kalina")
Wynikiem funkcji lustro("malwa") jest malwaawlam
testResult = lustro("malwa")=="malwaawlam"
malwaawlam
lustro("malwa")
Wynikiem funkcji lustro("skrzyp") jest skrzyppyzrks
testResult = lustro("skrzyp")=="skrzyppyzrks"
skrzyppyzrks
lustro("skrzyp")
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 1

Pewien tekst zaszyfrowano szyfrem Cezara z kluczem o wartości 5. W wyniku tej operacji otrzymano szyfrogram: HEQTBNJP PYTWD LTSN IBF EFOFHJ SNJ EQFUNJ FSN OJISJLT. Odszyfruj ten tekst, wiedząc, że do szyfrowania użyto alfabetu łacińskiego bez polskich znaków.

Zadanie dodatkowe 1

Szachownica złożona jest z równych pól, naprzemiennie białych i czarnych. Zdefiniuj funkcję ile_pol(n), której parametrem jest rozmiar szachownicy n, a wynikiem – liczba pól na szachownicy. Parametr n może przyjmować wartości od 2 do 32. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji ile_pol(8) jest 64.
  • Wynikiem funkcji ile_pol(13) jest 169.
# zdefiniuj funkcję def ile_pol(n): pass # testy
Wynikiem funkcji ile_pol(2) jest 4
testResult = ile_pol(2)==4
4
ile_pol(2)
Wynikiem funkcji ile_pol(6) jest 36
testResult = ile_pol(6)==36
36
ile_pol(6)
Wynikiem funkcji ile_pol(26) jest 676
testResult = ile_pol(26)==676
676
ile_pol(26)
Rozwiąż ćwiczenie

Ćwiczenie 6Czy zdanie jest palindromem

Zdefiniuj funkcję logiczną czy_palindrom2(s), której pa­rametrem jest napis zawierający małe litery alfabetu łacińskiego i spacje, a wynikiem wartość logiczna True, gdy napis jest palindromem, lub False, gdy nim nie jest. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji czy_palindrom2("a to kanapa pana kota") jest True.
  • Wynikiem funkcji czy_palindrom2("a to kanapka pana kota") jest False.
def czy_palindrom(s): for i in range(len(s) // 2): if s[i] != s[-i - 1]: return False return True # zdefiniuj funkcję def pomin(s): pass # zdefiniuj funkcję def czy_palindrom2(s): pass # testy
Wynikiem funkcji czy_palindrom2("tolo ma samolot") jest True
testResult = czy_palindrom2("tolo ma samolot")==True
True
czy_palindrom2("tolo ma samolot")
Wynikiem funkcji czy_palindrom2("tolo da samolot") jest False
testResult = czy_palindrom2("tolo da samolot")==False
False
czy_palindrom2("tolo da samolot")
Wynikiem funkcji czy_palindrom2("atak na kata") jest False
testResult = czy_palindrom2("atak na kata")==False
False
czy_palindrom2("atak na kata")
Wynikiem funkcji czy_palindrom2("atak w kata") jest True
testResult = czy_palindrom2("atak w kata")==True
True
czy_palindrom2("atak w kata")
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 1

Zdefiniuj funkcję zastap(napis), której wynikiem jest napis ze spacjami zastąpionymi przez znak podkreślenia ( _ ). Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji zastap("podgrzybek brunatny") jest podgrzybek_brunatny.
  • Wynikiem funkcji zastap(" rydz mleczaj ") jest _rydz_mleczaj_.
# zdefiniuj funkcję def zastap(napis): pass # testy
Wynikiem funkcji zastap("boro wik") jest boro__wik
testResult = zastap("boro wik")=="boro__wik"
boro__wik
zastap("boro wik")
Wynikiem funkcji zastap(" t r u f l a ") jest _t_r_u_f_l_a_
testResult = zastap(" t r u f l a ")=="_t_r_u_f_l_a_"
_t_r_u_f_l_a_
zastap(" t r u f l a ")
Wynikiem funkcji zastap("rydz i kania") jest rydz_i_kania
testResult = zastap("rydz i kania")=="rydz_i_kania"
rydz_i_kania
zastap("rydz i kania")
Rozwiąż ćwiczenie

Zadanie dodatkowe 2

Szachownica złożona jest z kwadratowych pól, naprzemiennie białych i czarnych. Lewy dolny róg (1, 1) zajmuje pole czarne. Zdefiniuj funk­cję ile_kolorowych(n, kolor), której parametrami są rozmiar szachownicy n i kolor pola – b (białe) lub c (czarne) – a wynikiem jest liczba pól w danym kolorze. Parametr n możne przyjmować wartości od 2 do 32. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji ile_kolorowych(8, "b") jest 32.
  • Wynikiem funkcji ile_kolorowych(7, "b") jest 24.
  • Wynikiem funkcji ile_kolorowych(8, "c") jest 32.
  • Wynikiem funkcji ile_kolorowych(7, "c") jest 25.
# zdefiniuj funkcję def ile_kolorowych(n, kolor): pass # testy
Wynikiem funkcji ile_kolorowych(32, "b") jest 512
testResult = ile_kolorowych(32, "b")==512
512
ile_kolorowych(32, "b")
Wynikiem funkcji ile_kolorowych(31, "b") jest 480
testResult = ile_kolorowych(31, "b")==480
480
ile_kolorowych(31, "b")
Wynikiem funkcji ile_kolorowych(32, "c") jest 512
testResult = ile_kolorowych(32, "c")==512
512
ile_kolorowych(32, "c")
Wynikiem funkcji ile_kolorowych(31, "c") jest 481
testResult = ile_kolorowych(31, "c")==481
481
ile_kolorowych(31, "c")
Rozwiąż ćwiczenie

Zadanie dodatkowe 3

Wieża porusza się w tym samym rzędzie lub w tej samej kolumnie, o dowolną liczbę pól. Zdefiniuj funkcję ile_wieza(n, x, y), której para­metrami są rozmiar szachownicy n oraz położenie figury (x, y), a wynikiem jest liczba pól atakowanych przez wieżę na pustej szachownicy. Parametr n może przyjmować wartości od 2 do 32. Pa­rametry xy mogą przyjmować wartości od 1 do n. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji ile_wieza(8, 2, 2) jest 14.
  • Wynikiem funkcji ile_wieza(13, 3, 4) jest 24.
# zdefiniuj funkcję def ile_wieza(n, x, y): pass # testy
Wynikiem funkcji ile_wieza(9, 2, 2) jest 16
testResult = ile_wieza(9, 2, 2)==16
16
ile_wieza(9, 2, 2)
Wynikiem funkcji ile_wieza(16, 8, 4) jest 30
testResult = ile_wieza(16, 8, 4)==30
30
ile_wieza(16, 8, 4)
Wynikiem funkcji ile_wieza(21, 5, 8) jest 40
testResult = ile_wieza(21, 5, 8)==40
40
ile_wieza(21, 5, 8)
Rozwiąż ćwiczenie

Zadanie dodatkowe 4

Goniec przesuwa się po przekątnych o dowolną liczbę pól i w dowolnym kierunku. Zdefiniuj funkcję ile_goniec(n, x, y), której parame­trami są rozmiar szachownicy n oraz położenie figury (x, y), a wynikiem jest liczba pól atakowanych przez gońca na pustej szachownicy. Parametr n może przyjmować wartości od 2 do 32. Parametry xy mogą przyjmować wartości od 1 do n. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji ile_goniec(8, 2, 2) jest 9.
  • Wynikiem funkcji ile_goniec(13, 3, 4) jest 16.
# zdefiniuj funkcję def ile_goniec(n, x, y): pass # testy
Wynikiem funkcji ile_goniec(9, 2, 2) jest 10
testResult = ile_goniec(9, 2, 2)==10
10
ile_goniec(9, 2, 2)
Wynikiem funkcji ile_goniec(16, 8, 4) jest 21
testResult = ile_goniec(16, 8, 4)==21
21
ile_goniec(16, 8, 4)
Wynikiem funkcji ile_goniec(21, 5, 8) jest 28
testResult = ile_goniec(21, 5, 8)==28
28
ile_goniec(21, 5, 8)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 2

Napisz funkcję zamien(napis), której parametrem jest napis o parzystej liczbie znaków, a wynikiem ten sam napis z pozamienianymi sąsiednimi znakami (tj. pierwszy z drugim, trzeci z czwartym itd.). Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji zamien("agrest") jest gaerts.
  • Wynikiem funkcji zamien("mandarynka") jest amdnranyak.
# zdefiniuj funkcję def zamien(napis): pass # testy
Wynikiem funkcji zamien("jagoda") jest ajogad
testResult = zamien("jagoda")=="ajogad"
ajogad
zamien("jagoda")
Wynikiem funkcji zamien("nektarynka") jest entkranyak
testResult = zamien("nektarynka")=="entkranyak"
entkranyak
zamien("nektarynka")
Wynikiem funkcji zamien("ananas") jest nanasa
testResult = zamien("ananas")=="nanasa"
nanasa
zamien("ananas")
Rozwiąż ćwiczenie

Zadanie 1Jakim kluczem zaszyfrowano?

Zdefiniuj funkcję jaki(tekst_jawny, szyfrogram), której parametrami są ciągi małych liter alfabetu łacińskiego, a wynikiem jest klucz z przedziału [0, 25], pozwalający zaszyfrować tekst jawny za pomocą metody Ce­zara, lub wartość –1, gdy szyfrogram nie mógł powstać z tekstu jawnego w wyniku szyfrowania metodą Cezara. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji jaki("niespodzianka", "pkgurqfbkcpmc") jest 2.
  • Wynikiem funkcji jaki("zmiana", "anjbxb") jest -1.
# zdefiniuj funkcję def jaki(tekst_jawny, szyfrogram): pass # testy
Wynikiem funkcji jaki("innabajka", "vaanonwxn") jest 13.
testResult = jaki("innabajka", "vaanonwxn")==13
13
jaki("innabajka", "vaanonwxn")
Wynikiem funkcji jaki("celujtam", "celujtas") jest -1.
testResult = jaki("celujtam", "celujtas")==-1
-1
jaki("celujtam", "celujtas")
Wynikiem funkcji jaki("naratunek", "ylclefypv") jest 11.
testResult = jaki("naratunek", "ylclefypv")==11
11
jaki("naratunek", "ylclefypv")
Rozwiąż ćwiczenie

Zadanie dodatkowe 5

Hetman może poruszać się jak wieża i goniec. Zdefiniuj funkcję ile_hetman(n, x, y), której parame­trami są rozmiar szachownicy n oraz położenie figury (x, y), a wynikiem jest liczba pól atakowanych przez hetmana na pustej szachownicy. Parametr n może przyjmować wartości od 2 do 32. Parametry xy mogą przyjmować wartości od 1 do n. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji ile_hetman(8, 2, 2) jest 23.
  • Wynikiem funkcji ile_hetman(13, 3, 4) jest 40.
# zdefiniuj funkcję def ile_hetman(n, x, y): pass # testy
Wynikiem funkcji ile_hetman(9, 2, 2) jest 26
testResult = ile_hetman(9, 2, 2)==26
26
ile_hetman(9, 2, 2)
Wynikiem funkcji ile_hetman(16, 8, 4) jest 51
testResult = ile_hetman(16, 8, 4)==51
51
ile_hetman(16, 8, 4)
Wynikiem funkcji ile_hetman(21, 5, 8) jest 68
testResult = ile_hetman(21, 5, 8)==68
68
ile_hetman(21, 5, 8)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 3

Zdefiniuj funkcję zmiana(napis), której wynikiem jest napis z pozamienianymi literami a na o i odwrotnie: o na a. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji zmiana("brzoskwinia") jest brzaskwinio.
  • Wynikiem funkcji zmiana("morela") jest marelo.
# zdefiniuj funkcję def zmiana(napis): pass # testy
Wynikiem funkcji zmiana("brzoza") jest brzazo
testResult = zmiana("brzoza")=="brzazo"
brzazo
zmiana("brzoza")
Wynikiem funkcji zmiana("topola") jest tapalo
testResult = zmiana("topola")=="tapalo"
tapalo
zmiana("topola")
Wynikiem funkcji zmiana("modrzew i sosna") jest madrzew i sasno
testResult = zmiana("modrzew i sosna")=="madrzew i sasno"
madrzew i sasno
zmiana("modrzew i sosna")
Rozwiąż ćwiczenie

Zadanie dodatkowe 6

Król może się przesuwać pionowo, poziomo i po przekątnej, ale tylko o jedno pole. Zdefiniuj funkcję ile_krol(n, x, y), której parametrami są rozmiar szachownicy n oraz położenie figury (x, y), a wynikiem jest liczba pól ata­kowanych przez króla na pustej szachownicy. Parametr n może przyjmować wartości od 2 do 30. Parametry xy mogą przyjmować wartości od 1 do n. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji ile_krol(8, 1, 1) jest 3.
  • Wynikiem funkcji ile_krol(10, 4, 4) jest 8.
# zdefiniuj funkcję def ile_krol(n, x, y): pass # testy
Wynikiem funkcji ile_krol(8, 4, 1) jest 5
testResult = ile_krol(8, 4, 1)==5
5
ile_krol(8, 4, 1)
Wynikiem funkcji ile_krol(8, 1, 4) jest 5
testResult = ile_krol(8, 1, 4)==5
5
ile_krol(8, 1, 4)
Wynikiem funkcji ile_krol(8, 3, 5) jest 8
testResult = ile_krol(8, 3, 5)==8
8
ile_krol(8, 3, 5)
Rozwiąż ćwiczenie

Zadanie dodatkowe 7

Skoczek porusza się o dwa pola w pionie i jedno w poziomie lub jedno w poziomie i dwa w pionie. Zdefiniuj funkcję ile_skoczek(n, x, y), której parametrami są rozmiar szachownicy n oraz położenie figury (x, y), a wyni­kiem jest liczba pól atakowanych przez skoczka na pustej szachownicy. Parametr n może przyjmować war­tości od 2 do 30. Parametry xy mogą przyjmować wartości od 1 do n. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji ile_skoczek(8, 1, 1) jest 2.
  • Wynikiem funkcji ile_skoczek(10, 4, 4) jest 8.
# zdefiniuj funkcję def ile_skoczek(n, x, y): pass # testy
Wynikiem funkcji ile_skoczek(8, 2, 1) jest 3
testResult = ile_skoczek(8, 2, 1)==3
3
ile_skoczek(8, 2, 1)
Wynikiem funkcji ile_skoczek(8, 1, 5) jest 4
testResult = ile_skoczek(8, 1, 5)==4
4
ile_skoczek(8, 1, 5)
Wynikiem funkcji ile_skoczek(8, 2, 2) jest 4
testResult = ile_skoczek(8, 2, 2)==4
4
ile_skoczek(8, 2, 2)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 4

Zdefiniuj funkcję cykl(napis), której wynikiem jest napis pozamienianymi samogłoskami a na e, e na i, i na o, o na u, u na y i y na a. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji cykl("czarne jagody") jest czerni jeguda.
  • Wynikiem funkcji cykl("poziomki") jest puzoumko.
# zdefiniuj funkcję def cykl(napis): pass # testy
Wynikiem funkcji cykl("guawa") jest gyewe
testResult = cykl("guawa")=="gyewe"
gyewe
cykl("guawa")
Wynikiem funkcji cykl("jagody goji") jest jeguda gujo
testResult = cykl("jagody goji")=="jeguda gujo"
jeguda gujo
cykl("jagody goji")
Wynikiem funkcji cykl("cytryny") jest catrana
testResult = cykl("cytryny")=="catrana"
catrana
cykl("cytryny")
Rozwiąż ćwiczenie

Zadanie 1Która godzina będzie w Warszawie

Różnica czasu między Los Angeles a Warszawą wynosi dziewięć godzin – jeżeli w Los Angeles zegar wskazuje godzinę 21, to w Warszawie jest godzina 6 rano. Zdefi­niuj funkcję godz_waw(g), której parametrem jest pełna godzina w Los Angeles, a wynikiem – aktual­na godzina w Warszawie. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji godz_waw(8) jest 17.
  • Wynikiem funkcji godz_waw(21) jest 6.
# zdefiniuj funkcję def godz_waw(g): pass # testy
Wynikiem funkcji godz_waw(24) jest liczba 9
testResult = godz_waw(24)==9
9
godz_waw(24)
Wynikiem funkcji godz_waw(0) jest liczba 9
testResult = godz_waw(0)==9
9
godz_waw(0)
Wynikiem funkcji godz_waw(12) jest liczba 21
testResult = godz_waw(12)==21
21
godz_waw(12)
Rozwiąż ćwiczenie

Zadanie 2Ile to kosztuje

Zdefiniuj funkcję cena(f), której parametrem jest cena w dolarach funta danego pro­duktu, a wynikiem – cena w złotówkach kilograma tego produktu. Załóż, że 1 USD = 4,75 PLN, a 1 funt = 0,45 kg. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji cena(1.35) jest 14.25.
  • Wynikiem funkcji cena(3.98) jest 42.0111111111.
# zdefiniuj funkcję def cena(f): pass # testy
Wynikiem funkcji cena(24.66) jest 260.3
testResult = cena(24.66)==260.3
260.3
cena(24.66)
Wynikiem funkcji cena(199.8) jest 2109.0
testResult = cena(199.8)==2109.0
2109.0
cena(199.8)
Wynikiem funkcji cena(0.45) jest 4.75
testResult = cena(0.45)==4.75
4.75
cena(0.45)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 5

Twój wynik to: /1
  • Jaki będzie efekt działania poniższego kodu w języku Python?
    s = "programowanie"
    print(s[::-2])

Zadanie dodatkowe 1

Twój wynik to: /1
  • Pythona stworzył na początku lat 90. XX wieku Guido van Rossum, jednak obecnie w jego rozwój zaangażowanych jest wiele osób. Co zainspirowało nazwę nowego języka?

Zadanie dodatkowe 2

W efekcie wykonania poniższego kodu w języku Python:

otrzymano następujący rezultat:

Twój wynik to: /1
  • Dlaczego program nie zadziałał poprawnie?

Zadanie dodatkowe 3

Jaki będzie efekt działania poniższego kodu w języku Python?

Twój wynik to: /1
  • Wskaż właściwą kolejność wyświetlenia się poniższych napisów na ekranie.

    A. Najlepszą zemstą jest ogromny sukces
    B. najlepszą zemstą jest ogromny sukces
    C. NAJLEPSZĄ ZEMSTĄ JEST OGROMNY SUKCES
    D. Najlepszą Zemstą Jest Ogromny Sukces

Pytania quizowePodstawy pracy w środowisku Python

Twój wynik to: /3
  • W jaki sposób działa polecenie return?
  • Co jest wynikiem działania 121 % 3?
  • Co wypisze polecenie print()?

Zadanie dodatkowe 8

Dostępna jest szachownica o rozmiarze n = 8. Zde­finiuj funkcje czy_wieza(xp, yp, xk, yk), czy_goniec(xp, yp, xk, yk) oraz czy_hetman(xp, yp, xk, yk), których parametrami są położenie początkowe i końcowe figury, a wynikiem jest True, jeśli w jednym ruchu można przejść z położe­nia początkowego do końcowego daną figurą, lub False, jeśli nie da się tego zrobić. Parametry mogą przyjmować wartości od 1 do 8. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji czy_wieza(1, 1, 1, 4) jest True.
  • Wynikiem funkcji czy_wieza(2, 2, 7, 8) jest False.
  • Wynikiem funkcji czy_goniec(1, 1, 4, 4) jest True.
  • Wynikiem funkcji czy_goniec(2, 2, 7, 8) jest False.
  • Wynikiem funkcji czy_hetman(1, 1, 1, 4) jest True.
  • Wynikiem funkcji czy_hetman(2, 2, 7, 8) jest False.
# zdefiniuj funkcję def czy_wieza(xp, yp, xk, yk): pass # zdefiniuj funkcję def czy_goniec(xp, yp, xk, yk): pass # zdefiniuj funkcję def czy_hetman(xp, yp, xk, yk): pass # testy
Wynikiem funkcji czy_wieza(2, 3, 1, 4) jest False
testResult = czy_wieza(2, 3, 1, 4)==False
False
czy_wieza(2, 3, 1, 4)
Wynikiem funkcji czy_wieza(3, 3, 3, 6) jest True
testResult = czy_wieza(3, 3, 3, 6)==True
True
czy_wieza(3, 3, 3, 6)
Wynikiem funkcji czy_wieza(4, 5, 1, 5) jest True
testResult = czy_wieza(4, 5, 1, 5)==True
True
czy_wieza(4, 5, 1, 5)
Wynikiem funkcji czy_goniec(2, 3, 1, 4) jest True
testResult = czy_goniec(2, 3, 1, 4)==True
True
czy_goniec(2, 3, 1, 4)
Wynikiem funkcji czy_goniec(3, 3, 3, 6) jest False
testResult = czy_goniec(3, 3, 3, 6)==False
False
czy_goniec(3, 3, 3, 6)
Wynikiem funkcji czy_goniec(4, 5, 1, 5) jest False
testResult = czy_goniec(4, 5, 1, 5)==False
False
czy_goniec(4, 5, 1, 5)
Wynikiem funkcji czy_hetman(2, 3, 1, 4) jest True
testResult = czy_hetman(2, 3, 1, 4)==True
True
czy_hetman(2, 3, 1, 4)
Wynikiem funkcji czy_hetman(3, 3, 3, 6) jest True
testResult = czy_hetman(3, 3, 3, 6)==True
True
czy_hetman(3, 3, 3, 6)
Wynikiem funkcji czy_hetman(4, 5, 1, 5) jest True
testResult = czy_hetman(4, 5, 1, 5)==True
True
czy_hetman(4, 5, 1, 5)
Rozwiąż ćwiczenie

Pytania quizoweDefiniowanie funkcji obliczeniowych

Twój wynik to: /3
  • Jaką wartość będzie miała zmienna licznik po wykonaniu poniższych poleceń?
    licznik = 3
    licznik = licznik + 3
  • Dla jakich liczb wynikiem poniższej funkcji będzie "tak"?
    def sprawdz(x):
       if x % 2 == 0 and x % 3 != 0:
         return "tak"
       else:
         return "nie"
  • Jaka ostatnia wartość zostanie wypisana po wykonaniu poniższej pętli?
    for i in range(3, 11, 2):
        print(i)

Zadanie 1Ukrywanie tekstu

Zdefiniuj funkcję ukryj(s), której parametrem jest napis złożony z małych liter alfabetu łacińskiego, a wynikiem napis z wstawioną co drugą literą wybraną losowo. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji ukryj("zima") jest np. zkitmwau.
  • Wynikiem funkcji ukryj("alamakota") jest np. axldaamaackvostvac.

Wskazówka: do losowania wykorzystaj funkcję randint() z modułu random.

# zdefiniuj funkcję def ukryj(s): pass # testy
Rozwiąż ćwiczenie

Zadanie 2ROT13

Zapoznaj się z informacją na temat szyfru ROT13 na s. 199 podręcznika, a następnie zdefiniuj funkcję rot(s), której parametrem jest napis zawierający wielkie litery alfabetu łacińskiego, a wynikiem napis zakodowany według podanej zasady. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji rot("GRAT") jest TENG.
  • Wynikiem funkcji rot("INFORMACJA") jest VASBEZNPWN.
# zdefiniuj funkcję def rot(s): pass # testy
Wynikiem funkcji rot("NOPQRSTUVWXYZ") jest ABCDEFGHIJKLM
testResult = rot("NOPQRSTUVWXYZ")=="ABCDEFGHIJKLM"
ABCDEFGHIJKLM
rot("NOPQRSTUVWXYZ")
Wynikiem funkcji rot("ADEZAW") jest NQRMNJ
testResult = rot("ADEZAW")=="NQRMNJ"
NQRMNJ
rot("ADEZAW")
Wynikiem funkcji rot("INFORMATYKA") jest VASBEZNGLXN
testResult = rot("INFORMATYKA")=="VASBEZNGLXN"
VASBEZNGLXN
rot("INFORMATYKA")
Rozwiąż ćwiczenie

Zadanie dodatkowe 1

Zdefiniuj funkcję anagram(s), której parametrem jest tekst jawny składający się z małych liter a, b lub c, a wynikiem napis, w którym wszystkie litery tekstu ustawione są w kolejności alfabetycznej. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji anagram("acabbca") jest aaabbcc.
  • Wynikiem funkcji anagram("abccbaaaa") jest aaaaabbcc.
# zdefiniuj funkcję def anagram(s): pass # testy
Wynikiem funkcji anagram("accaccaaaa") jest aaaaaacccc
testResult = anagram("accaccaaaa")=="aaaaaacccc"
aaaaaacccc
anagram("accaccaaaa")
Wynikiem funkcji anagram("bbbbbbbbbbbbb") jest bbbbbbbbbbbbb
testResult = anagram("bbbbbbbbbbbbb")=="bbbbbbbbbbbbb"
bbbbbbbbbbbbb
anagram("bbbbbbbbbbbbb")
Wynikiem funkcji anagram("bbaaaccbaaaba") jest aaaaaaabbbbcc
testResult = anagram("bbaaaccbaaaba")=="aaaaaaabbbbcc"
aaaaaaabbbbcc
anagram("bbaaaccbaaaba")
Rozwiąż ćwiczenie

Pytania quizowePrzetwarzanie napisów

Twój wynik to: /3
  • Jakiego polecenia należy użyć, aby dla napisu w = "szyfrant" wypisać 4 ostatnie znaki?
  • Jakim znakiem należy zacząć jednowierszowy komentarz?
  • Jaki napis zostanie wypisany dla napisu w = "kolumna" w wyniku działania polecenia print(w[0:5])?

QuizAlgorytmika i programowanie w Pythonie

Twój wynik to: /9
  • Jaką wartość będzie miała zmienna d po wykonaniu poniższego fragmentu kodu?
    d = 6
    x = 12
    if x % 3 == 0:
       x = x / 3
    else:
       d = d / 2
  • Co oznacza komunikat: „SyntaxError: invalid syntax”?
  • Co oznacza polecenie return w funkcji?
  • Co oznacza zapis: pom = pom + 1?
  • Jaką najmniejszą wartość powinna mieć zmienna x, aby ostatnia została wypisana wartość 24?
    for i in range(2, x, 2):
        print(i)
  • Jakie dwie liczby zostaną wypisane po wykonaniu poniższego fragmentu kodu?
    x = 11
    y = 13
    a = x
    x = y
    y = a
    print(x)
    print(y)
  • Jaka litera zostanie wypisana po wykonaniu poniższego fragmentu kodu?
    napis = "medycyna"
    print(napis[2])
  • Jaki jest efekt działania polecenia print("x")?
  • Wskaż poprawnie przyporządkowany rodzaj przechowywanej wartości.

Zadanie 2Szyfrowanie polskiego tekstu

Zdefiniuj funkcję szyfrujpl(tekst, klucz), której para­metrami są odpowiednio ciąg małych liter alfabetu (mogą w nim występować litery typowo polskie) oraz liczba całkowita nieujemna mniejsza od 1000, a wynikiem jest zaszyfrowany tekst z danym kluczem. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji szyfrujpl("przekaż", 7) jest yzćkóęe.
  • Wynikiem funkcji szyfrujpl("wiadomość", 3) jest źlcfrorwę.
# zdefiniuj funkcję def szyfrujpl(tekst, klucz): pass # testy
Wynikiem funkcji szyfrujpl("przyjdździś", 13) jest ciąg znaków bchgtńińhśd.
testResult = szyfrujpl("przyjdździś", 13)=="bchgtńińhśd"
bchgtńińhśd
szyfrujpl("przyjdździś", 13)
Wynikiem funkcji szyfrujpl("błąd", 520) jest ciąg znaków hsgk.
testResult = szyfrujpl("błąd", 520)=="hsgk"
hsgk
szyfrujpl("błąd", 520)
Wynikiem funkcji szyfrujpl("nagórzeróże", 99) jest ciąg znaków ócjstagtsbg.
testResult = szyfrujpl("nagórzeróże", 99)=="ócjstagtsbg"
ócjstagtsbg
szyfrujpl("nagórzeróże", 99)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 5

Zdefiniuj funkcję przeplot(napis), której wynikiem jest napis powstały z oryginalnego napisu poprzez dostawienie po każdej literze znaku z danego napisu, ale od końca. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji przeplot("azalia") jest aaziallaizaa.
  • Wynikiem funkcji przeplot("mniszek") jest mkneizsszienkm.
# zdefiniuj funkcję def przeplot(napis): pass # testy
Wynikiem funkcji przeplot("jaskier") jest jraesikkisearj
testResult = przeplot("jaskier")=="jraesikkisearj"
jraesikkisearj
przeplot("jaskier")
Wynikiem funkcji przeplot("zawilec") jest zcaewliilweacz
testResult = przeplot("zawilec")=="zcaewliilweacz"
zcaewliilweacz
przeplot("zawilec")
Wynikiem funkcji przeplot("pełnik") jest pkeiłnnłiekp
testResult = przeplot("pełnik")=="pkeiłnnłiekp"
pkeiłnnłiekp
przeplot("pełnik")
Rozwiąż ćwiczenie

Pytania quizoweSzyfrowanie i deszyfrowanie tekstu

Twój wynik to: /3
  • Ile wynosi kod ASCII litery m, jeśli kod ASCII litery k wynosi 107?
  • Jak nazywa się szyfr, w którym każdą literę tekstu jawnego zastępuje się inną?
  • Napis tajemnica zaszyfrowano szyfrem Cezara i otrzymano xeniqrmge. Jakiego klucza użyto?

Zadanie 1Sekwencja błędów

Odległość Hamminga między dwoma łańcuchami DNA oznacza liczbę symboli, któ­rymi różnią się oba łańcuchy. Odległość Hamminga między łańcuchami st o tej samej długości wynosi 8. Niepasujące symbole są zaznaczone kolorem:

  • łańcuch s – CAGGCTACTACCGGTAT,
  • łańcuch t – CATCGTAATGCAGGGCT.

Zdefiniuj funkcję hamming(s, t), gdzie s i t to łańcuchy o tej samej długości. Wynik funkcji to liczba będąca odległością Hamminga między danymi łańcuchami. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji hamming("CAGGTT", "CAGGTT") jest 0.
  • Wynikiem funkcji hamming("CAGGCTACTACCGGTAT", "CATCGTAATGCAGGGCT") jest 8.
# zdefiniuj funkcję def hamming(s, t): pass # testy
Wynikiem funkcji hamming("AAAACTACTA", "CATCGTAATG") jest 6
testResult = hamming("AAAACTACTA", "CATCGTAATG")==6
6
hamming("AAAACTACTA", "CATCGTAATG")
Wynikiem funkcji hamming("CCCCCCCC", "AAAAAAAA") jest 8
testResult = hamming("CCCCCCCC", "AAAAAAAA")==8
8
hamming("CCCCCCCC", "AAAAAAAA")
Wynikiem funkcji hamming("GACATAGCTA", "GAACCGGGGG") jest 7
testResult = hamming("GACATAGCTA", "GAACCGGGGG")==7
7
hamming("GACATAGCTA", "GAACCGGGGG")
Rozwiąż ćwiczenie

Pytania quizoweWyszukiwanie wzorca w tekście

Twój wynik to: /3
  • Jaka litera zostanie wypisana dla napisu w = "kaktus" w wyniku działania polecenia print(w[-1])?
  • Ile razy wykona się poniższa pętla dla napisu w = "laseczek"?
    for z in w:
        print(z)
  • Jaka wartość zostanie wypisana dla napisu w = "wiaderko" w wyniku działania polecenia print(len(w))?