Wstęp
Python jest językiem skryptowym. Aby skrypt napisany w Pythonie zadziałał musi być zinterpretowany przez specjalny program nazywany interpreterem. Można korzystać z interpretera zainstalowanego na komputerze lub umieszczonego na stronie internetowej. Podczas lekcji korzystamy z interpretera na stronie onlinegdb.com Niniejsze opracowanie zawiera wiedzę przekazywana podczas lekcji w klasa 8 szkoły podstawowej w kolejności tak jak na lekcjach.
Pierwszy skrypt
Skrypt będziemy pisali linijka po linijce, wyrównany do lewej krawędzi – wcięcia teksty w Pythonie maja znaczenie. Znak # spowoduje, że wszystko co znajdzie się w tej linijce za tym znakiem będzie komentarzem, tzn że interpreter nie będzie brał tego zapisu pod uwagę tworząc program z naszego skryptu.
Ćwiczenie 1
Otwórz interpreter, usuń wszystkie wpisy i wpisz:
print('Informatyka jest łatwa!')
Uruchom interpreter.
W konsoli powinieneś otrzymać napis zawarty w nawiasach.Dopisz do skryptu:
print('Mam na imię ','Tutaj wpisz swoje imię')
Uruchom interpreter.W konsoli powinieneś otrzymać dwie linijki w pierwszej poprzedni napis, w drugiej napis Mam na imię …(Twoje imię)
Funkcja print()
Służy do drukowania informacji na ekranie. W nawiasie umieszczamy dane, które mają być wydrukowany na ekranie. Jeśli jest to tekst to należy umieścić go między apostrofami lub cudzysłowami np.:
print('Informatyka jest łatwa! ')
print("Informatyka jest łatwa! ")
Jeśli danymi, które chcemy wydrukować są liczby to możemy je wpisać bez cudzysłowów (apostrofów) np:
print('Informatyka',4,'You') #wypisze na ekranie napis: Informatyka 4 You
Jeśli w funkcji print użyjemy więcej niż jednego argumentu, to poszczególne argumenty będą oddzielone od siebie domyślnie spacją. Argumenty funkcji to elementy znajdujące się w jej nawiasach, sa oddzielone od siebie przecinkami. Np.
print('Informatyka','jest','łatwa') #funkcja zawiera trzy argumenty
Funkcja print domyślnie dodaje na końcu znak końca linii (\n). To znaczy, że kolejne użycie funkcji print spowoduje wyświetlenie danych w kolejnej linijce konsoli.
Funkcja print może wyświetlać liczby oraz wyniki działań arytmetycznych np.:
print(5+7) #wypisze na ekranie liczbę 12
Do góry
Działania arytmetyczne
+   dodawanie
-   odejmowanie
*   mnożenie
/   dzielenie rzeczywiste (zmiennoprzecinkowe)
//  dzielenie całkowite
**   potęgowanie
%   modulo
Zmienne
Zmienna to wyodrębnione i nazwane miejsce w pamięci naszego komputera.
Służy do przechowywania różnych wartości.
Można sobie wyobrazić że jest to taki pojemnik na dane.
Wkładając dane do tego pojemnika musimy wyrzucić z niego te dane,
który były w nim przechowywane do tej pory.
Każda zmienna musi posiadać nazwę.
Nazwa zmiennej to jeden wyraz (nie może zawierać spacji).
Nazwa zmiennej może zawierać litery, cyfry i znak podkreślenia.
Nazwa zmiennej nie może zaczynać się od cyfry.
W nazwach zmiennych nie należy stosować polskich znaków diakrytycznych.
W nazwach są rozróżniane wielkie i małe litery np.:
zmienna suma i zmienna Suma to dwie różne zmienne.
Nazwy zmienne powinny określać ich przeznaczenie.
Wartość zmiennej
Aby przypisać wartość do zmiennej używamy operatora = np.: a = 25 #zmienne o nazwie a przypisaliśmy wartość 25
imie = 'Adam' #zmiennej o nazwie imie przypisaliśmy wartość Adam
pole_prostokata = 25 * 4 #zmiennej pole_prostokata przypisaliśmy wartość 100
W obliczeniach z użyciem zmiennych używamy operatorów arytmetycznych np.:
a = 5
b = 10
c = a + b #zmienna c będzie miała wartość 15
Możemy przypisać wartość do zmiennej korzystając z klawiatury podczas działania naszego programu. W tym celu skorzystamy z funkcji input()
Funkcja ta jako argument przyjmuje tekst, który zostanie wyświetlony w konsoli jako instrukcja dla użytkownika np.:
imie = input('Podaj swoje imię') #do zmiennej imie zostanie przypisana wartość którą wpisze użytkownik
Ćwiczenie 2
Wpisz kod:
imie = input('Podaj swoje imię: ')
print('Witaj',imie)
Uruchom interpreter.W konsoli powinieneś zobaczyć napis Podaj swoje imię oraz znak zachęty. Po wpisaniu swojego imienia i naciśnięciu klawisza Enter program powinien wypisać: Witaj TwojeImie
Funkcja input() zawsze jako dane przyjmuje tekst. Jeśli chcesz do swojego programu wprowadzić liczbę, to musisz ją zamienić z teksty na liczbę. Do takie zamiany służy funkcja int(). Argumentem funkcji int jest słowo, które zostanie zamienione na liczbę np.:
k = '5' # do zmiennej k zostało przypisane słowo 5, piątka będzie tutaj traktowana jak tekst a nie liczba
a = int('7') #do zmiennej a została przypisana wartość 7
print(6 * k) #wyświetli napis 555555 (sześć razy napis 5)
print(6 * a) # wyświetli 42
bok_a = int(input('Podaj wartość boku a ')) #wprowadzona wartość zostanie zamieniona na liczbę
bok_b = int(input('Podaj wartość boku b '))#wprowadzona wartość zostanie zamieniona na liczbę
print('Pole prostokąta o bokach', a, 'i', b, 'jest równe', a*b) #Zostanie wyświetlony tekst oraz wartość obliczenia a * b
Zadanie 1
Napisz skrypt, który na ekranie wyświetli w pierwszej linijce Twoje imię i nazwisko, w drugiej linijce nazwą Twojej szkoły, w trzeciej linijce nazwę Twojej klasy.
Zadanie 2
Napisz skrypt, który obliczy i wyświetli na ekranie pole powierzchni równoległoboku o podstawie a i wysokości na niej opuszczonej h. Długość podstawy i wysokości podawane są z klawiatury w trakcie działania programu.
Stosowanie instrukcji warunkowej
Instrukcję warunkową zastosujemy wtedy, gdy wynik lub dalsze działanie naszego programu zależne jest od spełnienia lub nie jakiegoś warunku. Komputer sprawdza warunek logiczny i wykonuje określone działania w zależności od tego czy jest on spełniony czy nie. W Pythonie instrukcja warunkowa ma postać:
if WARUNEK:
instrukcja1 jeśli warunek jest spełniony
instrukcja2 jeśli warunek jest spełniony
instrukcja3 jeśli warunek jest spełniony
instrukcja n... jeśli warunek jest spełniony
else:
instrukcja1 jeśli warunek nie jest spełniony
instrukcja2 jeśli warunek nie jest spełniony
instrukcja3 jeśli warunek nie jest spełniony
instrukcja n... jeśli warunek nie jest spełniony
UWAGA
W języku Python ważne są wcięcia w kodzie. Tworzą one bloki dla poszczególnych instrukcji. Przyjęto że wcięcie ma cztery spacje.
Do porównań logicznych służą operatory porównania i operatory logiczne
Operatory porównania
==   porównanie wartości
>   jest większe
<   jest mniejsze
>=   jest większe lub równe
<=   jest mniejsze lub równe
!=   jest różne
Ćwiczenie 3
Piszemy program wypisujący większą z dwóch liczb.
a = int(input('Podaj pierwszą liczbę: '))
b = int(input('Podaj drugą liczbę, inna niż pierwsza: '))
if a > b:
print(a, 'jest większe od', b)
else:
print(b, 'jest większe od', a)
Zadanie 3
Napisz program sprawdzający, czy wprowadzona z klawiatury liczba całkowita jest nieujemna. Program powinien wypisać stosowane komunikaty.
Stosowanie instrukcji iteracyjnej
Instrukcja iteracyjna ma za zadanie powtórzyć wiele razy te same operacje. Instrukcje iteracyjna stosujemy tworząc tzw. Pętlę – po pewnym kroku algorytmu wracamy do wcześniejszego kroku.
W języku Python instrukcja iteracyjna ma postać:
for zmienna in lista_wartości:
lista instrukcji
Jako lista instrukcji może być pojedyncza instrukcja lub blok instrukcji. Liczbę powtórzeń (liczbę iteracji) określa długość listy wartości. Program wykona listę instrukcji dla wszystkich wartości z listy wartości, zmieniając wartość zmiennej na kolejne elementy listy wartości np.:
for i in [0, 5, 3, 8, 2]:
print( i )
Zmienna ma nazwę i. Lista wartości to [0, 5, 3, 8, 2], lista instrukcji to print(i)
Pętla wykona się pięciokrotnie (pięć elementów w liście wartości).
Program wyświetli w kolejnych linijkach liczby 0, 5, 3, 8, 2.
W pierwszej iteracji do zmiennej i zostanie przypisana wartość 0, w drugiej wartość 5, w trzeciej wartość 3 itd.
Do utworzenia listy wartości możemy zastosować funkcje range().
Funkcja range() może mieć od jednego do trzech argumentów:
range(koniec) – jeden argument oznacza , że funkcja wygeneruje listę wartości w przedziale < 0, koniec)
UWAGA! Wartość koniec nie należy do przedziału, zostanie wygenerowana lista wartości w liczbie koniec – 1 np.:
range(5) wygeneruje [0, 1, 2, 3, 4]
range(początek,koniec) – dwa argumenty oznacza, że funkcja range wygeneruje listę wartości w przedziale < początek, koniec)
UWAGA! Wartość początek należy do przedziału, a wartość koniec nie np.:
range(5, 11) wygeneruje listę wartości [5, 6, 7, 8, 9, 10]
range(początek, koniec, krok) – trzy argumentyoznacza , że funkcja range wygeneruje listę wartości w przedziale < początek, koniec) zmieniając kolejne wartości o wartość krok.
UWAGA! Wartość początek należy do przedziału, a wartość koniec nie np.: range(5, 20, 3) wygeneruje listę wartości [5, 8, 11, 14, 17]
Ćwiczenie 3
Napisz program, który w kolejnych wierszach wyświetli liczby parzyste w zakresie od 4 do 200 włącznie.
for i in range(4, 201, 2): #funkcja range wygeneruje listę [4,6,8,…198,200]
print(i)
Zadanie 4
Napisz program który obliczy pole powierzchni pięciu działek o kształcie prostokąta. Wymiary działek są wprowadzane z klawiatury, po wprowadzeniu wymiarów program wyświetla informację o polu powierzchni działki.
Sprawdzanie podzielności liczb
Liczba a jest podzielna przez liczbę b gdy reszta z dzielenia a przez b jest równa 0
Jeśli a mod b == 0 to a jest podzielne przez b
mod – oznacza module – resztę z dzielenia. Powyższe w Pythonie zapiszemy:
if a % b == 0:
print(a, 'jest podzielne przez', b)
else:
print(a, 'nie jest podzielne przez', b)
Ćwiczenie 5
Napisz program sprawdzający czy wprowadzona z klawiatury liczba jest liczba parzystą. Program powinien wyświetlić stosowny komunikat.
p = int(input('Podaj liczbę do sprawdzenia '))
if p % 2 == 0:
print(p, 'jest liczba parzystą')
else:
print(p, 'jest liczbanieparzysta')
Wyodrębnianie cyfr z liczby
Będziemy wypisywali cyfry liczby od najmniej znaczącej np.: dla liczby 5674 zostanie wypisane w kolejnych linijkach 4 7 6 5
Wypisywana aktualnie ostatnia cyfra do reszta z dzielenia liczby przez 10: cyfra = liczba mod 10 (mod oznacza modulo czyli resztę z dzielenia)
Będziemy wykonywali następujący algorytm:
dopóki liczba jest większa od 0 wykonuj:
      cyfra = liczba mod 10
     wypisz cyfra
     liczba = liczba div 10 (div to dzielenie całkowite)
Do realizacji tego algorytmu wykorzystamy petle while.
Pętla whlile
W Pythonie pętla while ma postać:
while warunek:
instrukcja 1
instrukcja 2
instrukcja 3
instrukcja n
Instrukcje w bloku pętli sa wykonywane dopóki spełniony jest warunek.
Ćwiczenie 6
Napisz program wypisujący cyfry liczby od najmniej znaczącej. Liczba wpisywana jest z klawiatury.
liczba = int(input(”Podaj liczbę: ”))
while liczba > 0:
cyfra = liczba % 10
print(cyfra)
liczba = liczba // 10
Zadanie 5
Napisz program, który wypisze najmniejszą cyfre z podanej liczby. Liczba wczytywana jest z klawiatury.
Funkcje
Funkcja to wyodrębniony i nazwany fragment naszego skryptu (podprogram),
którego możemy wielokrotnie używać.
Każda funkcja musi posiadać nazwę, zasady nazywania funkcji
są takie jak przy nazywaniu zmiennych.
Po nazwie funkcji w nawiasach mogą występować parametry formalne,
które w momencie wywołania (użycia) funkcji komputer zastąpi
parametrami aktualnymi.
Poznaliśmy już funkcje wbudowane w Pythona:
print(), input(), int(). Teraz będziemy tez tworzyć własne.
Najprostsza definicja funkcji wygląda następująco:
def nazwa_funkcji (argumenty funkcji):
blok instrukcji funkcji
Blok instrukcji musi być przesunięty w prawo od lewej krawędzi
(najczęściej 4 spcje).
Aby wywołać funkcje (spowodować jej działanie) należy umieścić
nazwę funkcji razem z parametrami w odpowiednim miejscu programu.
Jeśli funkcja nie ma parametrów to po nazwie zapisujemy puste nawiasy,
jeśli jest kilka parametrów to oddzielamy je przecinkami np.:
# definicja funkcji o nazwie motto – funkcja nie ma parametrów formalnych
def motto():
print('Informatyka jest łatwa')
#wywołanie funkcji motto
motto() #funkcja wyświetli na ekranie zdanie Informatyka jest łatwa
#definicja funkcji o nazwie powitanie
def powitanie( imie ):
print('Witaj', imie)
#wywołanie funkcji powitanie
powitanie('Marek') #funckja wypisze na ekranie zdanie: Witaj Marek
Ćwiczenie 7
Zdefiniuj funkcję sześcian() z parametrem formalnym a typu całkowitego. Funkcja oblicza objętość sześcianu o boku a i wyświetla stosowny komunikat na ekranie.
def szescian( a ):
objetosc = a * a * a #lub a ** 3
print('Objetosc sześcianu o boku',a,'jest równa', objetosc)
bok = int(input('Podaj bok sześcianu: '))
#wywołanie funkcji
szescian( bok ) #do funkcji zostanie przekazana wartość zmiennej bok
Ćwiczenie 8
Zdefiniuj funkcję pole_prostokata() z parametrami formalnymi a, b typu całkowitego.
Funkcja oblicza pole prostokąta o bokach a i b i wyświetla stosowny komunikat na ekranie.
def pole_prostokata( a, b ):
pole = a * b
print('Pole prostokąta o bokach',a,'i',b,'jest równe', pole)
bok_a = int(input('Podaj bok a prostokąta: '))
bok_b = int(input('Podaj bok b prostokąta: '))
#wywołanie funkcji
pole_prostokata( bok_a, bok_b )
Zadanie 6
Napisz program zawierający funkcję, która obliczy pole trójkąta o podstawie d i wysokości h. Wartość d i h wprowadzaj z klawiatury. Wynik powinien być wyświetlany stosownym komunikatem na ekranie.
Funkcje zwracające wartość
Funkcja może zwacać wartość tzn. w miejcu wywolania funkcji w programie zostanie wstawiona zwrócona przez nia wartość.
Aby funkcja zwróciła wartość należy użyc slowa kluczowago return funkcja zwóci wartość za słowem kluczowym i przerwie dzialanie.
def suma(a,b):
return a+b
print(suma(2,4))
Powyższa funkcja zwróci sume dwóch liczb przekazanych do niej jako parametry, zostala wywołana w funkcji print co spowoduje wypisanie jej wartość (w tym przykładzie 6)
Taka funkcję można wykorzystać tak jak każda liczbę:
def suma(a,b):
return a+b
print(suma(2,4) * "Ala ") #wypisze sześć razy słowo Ala
print(suma(2,4) * suma(4,6)) #wypisze 60 (6 * 10)
Sprawdzanie podzielności dwóch liczb
Napiszemy funkcję, która zwróci prawdę (True) gdy liczba k jest podzielna przez liczbę g lub fałsz (False) w przeciwnym wypadku
def czy_podzielna(k,g):
if( k % g == 0): #jeśli reszta z dzielenia k przez g jest równa zero
return True #zwróć True gdy warunek jest spełniony
else:
return False #zwróć False w przeciwnym wypadku
Ćwiczenie 9
Funkcję sprawdzającą podzielność liczb można wykorzystać do wypisania wszystkich dzielników danej liczby.
Będziemy sprawdzali po koleji od 1 do danej liczby czy kolejne liczby są jej dzielnikami.
Do sprawdzenia wykorzystamu poznanje już pętle. W pętli wykorzystamu funkcję range().
def czy_podzielna(k,g):
if( k % g == 0): #jeśli reszta z dzielenia k przez g jest równa zero
return True #zwróć True gdy warunek jest spełniony
else:
return False #zwróć False w przeciwnym wypadku
liczba = int(input("Podaj liczbę: ")) #wprowadzamy liczbę za pomoca klawiatury
for i in range(1,liczba+1): #pętla od 1 do wartości liczby
if(czy_podzielna(liczba,i): #jeśli liczba jest podzilna przez i
print(i) #to wypisz i
Ćwiczenie 10
Wykorzystując dotychczasowy program napiszemy funkję która zwróci liczbę dzielników podanej liczby.
def czy_podzielna(k,g):
if( k % g == 0): #jeśli reszta z dzielenia k przez g jest równa zero
return True #zwróć True gdy warunek jest spełniony
else:
return False #zwróć False w przeciwnym wypadku
liczba = int(input("Podaj liczbę: ")) #wprowadzamy liczbę za pomoca klawiatury
def ile_dzielników(liczba): #do funkcjo przekazuje parametr - wartośc liczby
ile = 0 #definiuje licznik i przypisuje mu wartość 0
for i in range(1,liczba+1): #pętla od 1 do wartości liczby
if(czy_podzielna(liczba,i): #jeśli liczba jest podzilna przez i
ile++ #to zwiększ wartość zmiennej ile o 1
#wypisuje komunikat z liczbą dzielników podanej liczby
print("Liczba",liczba,"ma",ile_dzielnikow,"dzielników")
Zadanie 7
Liczba pierwsza to taka liczba która ma tylko dwa dzielniki (1 i samą siebie).
Napisz program, który sprawdzi czy wprowadzona z klawiatury liczba jest liczba pierwszą.
Wynikiem działania programu jest stosowny komunikat wyświetlany na ekranie.
Algoryt Euklidesa metoda odejmowania
Algorytm Euklidesa służy do odnajdywania największego wspólnego dzielnika (NWD) dwóch liczb całkowitych.
Wersja z odejmowanie jest następująca:
- Wprowadź dwie liczby a i b.
- Sprawdź czy liczby sa sobie równe.
- Jeśli TAK to zwróć NWD = a i zakończ.
- Jeśli NIE to od wiekszej liczby odejmij mniejszą.
- Za większa podstaw wynik z pkt 4
- Idź do pkt 2
Realizację tego algorytmu wykonamy w funkcji zwracajacej jako wartość NWD liczb a i b. Wykorzytamy tutaj pętle while oraz instrukcje warunkowe if
def nwd_odejmowanie(a,b):
while a != b: #dopóki a jest różne od b wykonuj:
if( a > b): #jeśli większa jest a
a = a - b; # to za wieksza podstaw rónicę a i b
else: # w przeciwnym wypadku - wieksza jest b
b = b - a # za b podstaw różnicę b - a
return a #zwróć a - NWD
#wywołanie funkcji:
print(nwd_odejmowanie(21,14)) #wypisze na ekranie wartość 7
Algorytm Euklidesa - wersja z resztą z dzielenia
Wersja z resztą z dzielenia jest bardziej wydajna - dziala szybciej wykonując mniej operacji.
- Wprowadz dzwie liczby a i b
- Jeśli b jest rowne zero to zwróć a i zakończ.
- Do zmiennej pomocniczejo nazwie pom przypisz wartość b.
- Do b przypisz reszte dzielenia a przez b.
- Do a przypisz wartośc zmienej pomocniczej.
Zadanie 8
Korzystając z algorytmu powyżej, napisz program wykorzytujacy funkcję nwd_reszta(a,b), w którym zwróci ona wartość NWD dla liczb wprowadzinych z klawiatury.Funkcja zwracająca sumę cyfr liczby
Ćwiczenie 11
Napisz funkcję suma_cyfr(liczba), która jako parametr przyjmuje liczbe calkowita wiekszą od 0 i zwraca sume cyfr tej liczby.
Do zrealizowania tego zadania wykorzystamy petle while, resztę z dzielenia oraz dzielenie całkowite.
Algorytm rozwiązujący to zadanie:
- Wprowadź liczbę
- Ustaw wartośc sumy na 0
- Dopóki liczba jest wieksza od zera wykonuj:
- Zwiększ sumę o resztę z dzielenia liczby przez 10
- Za liczbę podstaw wynik dzielenia całkowitego liczby przez 10
- Zwróć wartość sumy
def suma_cyfr(liczba):
suma = 0 # do sumy przypisuje wartość 0
while liczba > 0: # dopóki liczba jest większa od zera wykonuję:
suma = suma + liczba % 10 # zwiekszam sume o reszte z dzielenia liczby przez 10 (dodaje do sumy ostatnia cyfrę)
liczba = liczba // 10 # za liczbe podstawiam wynik dzielenia calkowitego liczby przez 10 (usuwam ostatia cyfre z liczby)
return suma # zwracam wartość sumy
#wywołanie funkcji
l = int(input("Podaj liczbę: ")) # z klawiatury do zmiennej l przypisuje liczbę
print("Suma cyfr liczby",l,"jest rowna",suma_cyfr(l)) #wypisje stosowny komunikat z wykorzystaniem funkcji suma_cyfr()
Zadanie 9
Napisz program wykorzystujący funkcję suma_cyfr(liczba), który sprawdzi czy dla podaej z klawiatury liczby suma cyfr jest większa niż 15
Rozwiązania zadań
Zadanie 1
print('Jan Kowalski')
print('Szkoła Podstawowa nr 1')
print('Klasa 8A')
Zadanie 2
a = int(input('Podaj długość podstawy równoległoboku: '))
h = int(input('Podaj długość wysokości równoległoboku opuszczonej na podstawą a : '))
print('Pole powierzchni równoległoboku o podstawie', a, 'i wysokości', h, 'jest równe:', a * h)
Zadanie 3
a = int(input('Podaj liczbę: '))
if a < 0:
print('Liczba', a, 'jest ujemna')
else:
print('Liczba', a, 'jest nieujemna')
Zadanie 4
for i in range(5):
x = int(input('Podaj długość pierwszego boku', i + 1, 'działki '))
y = int(input('Podaj długość drugiego boku', i + 1, 'działki '))
pole = x * y
print('Pole', i + 1, 'działki o bokach', x, 'i', y, 'wynosi', pole)
Zadanie 5
liczba = int(input('Podaj liczbę: ')
najmniejsza = -1 #jako najmniejszą ustawiam liczbę, która nie może wystąpić
while liczba > 0:
cyfra = liczba % 10 #wyodrębniam ostatnią cyfrę
if cyfra < najmniejsza: #jeśli wyodrębniona cyfra jest mniejsza od dotychczasowej najmniejszej
najmniejsza = cyfra #to od tej pory najmniejsza to wyodrębniona
liczba = liczba // 10 #pozbywam się ostatniej cyfry
print('Najmniejsza cyfra to:', najmniejsza)
Zadanie 6
def pole_tr( d, h ):
pole = d / 2 * h
print('Pole trójkąta o podstawie', d, 'i wysokości', h, 'jest równe', pole)
bok = int(input('Podaj podstawę trójkąta: '))
wysokosc = int(input('Podaj wysokość trójkąta: '))
pole_tr(bok, wysokość)
Zadanie 7
def czy_podzielna(k,g):
if( k % g == 0): #jeśli reszta z dzielenia k przez g jest równa zero
return True #zwróć True gdy warunek jest spełniony
else:
return False #zwróć False w przeciwnym wypadku
liczba = int(input("Podaj liczbę: ")) #wprowadzamy liczbę za pomoca klawiatury
def ile_dzielników(liczba): #do funkcjo przekazuje parametr - wartośc liczby
ile = 0 #definiuje licznik i przypisuje mu wartość 0
for i in range(1,liczba+1): #pętla od 1 do wartości liczby
if(czy_podzielna(liczba,i): #jeśli liczba jest podzilna przez i
ile++ #to zwiększ wartość zmiennej ile o 1
if(ile_dzielników(liczba) == 2):
print(liczba,"jest liczbą pierwszą")
else:
print(liczba,"nie jest liczbą pierwszą")
Zadanie 8
def nwd_reszta(a,b):
while(b!=0): # dopóki b jest róne od zera wykonuje:
pom = b # do zmiennej pomocniczej przypisuje wartość b
b = a % b # do b przypisuje wartośc reszty z dzielenia a i b
a = pom # do a przypisuje wartość zmiennej pomocniczej (poprzednie b)
return a #zwracam wartość a
k = int(input("Podaj pierwszą liczbę: ")) # pobieram z klawiatury pierwszą liczbę
l = int(input("Podaj drugą liczbę: ")) # pobieram z klawiatury drugą liczbę
print("NWD",k,"i",l,"=",nwd_reszta(k,l)) #wypisuje komunikat na ekranie
Zadanie 9
def suma_cyfr(liczba):
suma = 0 # do sumy przypisuje wartość 0
while liczba > 0: # dopóki liczba jest większa od zera wykonuję:
suma = suma + liczba % 10 # zwiekszam sume o reszte z dzielenia liczby przez 10 (dodaje do sumy ostatnia cyfrę)
liczba = liczba // 10 # za liczbe podstawiam wynik dzielenia calkowitego liczby przez 10 (usuwam ostatia cyfre z liczby)
return suma # zwracam wartość sumy
#wywołanie funkcji
l = int(input("Podaj liczbę: ")) # z klawiatury do zmiennej l przypisuje liczbę
if suma_cyfr(l) > 15: #jeśli wartośc jaką zwróci funkcja suma_cyfr jest większa od 15
print("Suma cyfr liczby",l,"jest większa od 15") #wypisje stosowny komunikat jeśli warunek jest spełniony
else:
print("Suma cyfr liczby",l,"nie jest większa od 15") #wypisje stosowny komunikat jeśli warunek nie jest spełniony