Ćwiczenie 0

Zdefiniuj funkcję ile_cyfr(liczba), której wynikiem będzie liczba cyfr danej liczby. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji ile_cyfr(123) jest 3.
  • Wynikiem funkcji ile_cyfr(17923) jest 5.

Wskazówka
Zauważ, że algorytm sumowania cyfr opiera się na wyodrębnianiu cyfr od końca i kolejno ich sumowania. W każdym kroku wyliczana jest ostatnia cyfra jako reszta dzielenia przez 10 oraz liczba jest dzielona przez 10.

def ile_cyfr(liczba): # zdefiniuj funkcję i sprawdź jej działanie pass
Wynikiem funkcji ile_cyfr(12) jest 2
testResult = ile_cyfr(12)==2
2
ile_cyfr(12)
Wynikiem funkcji ile_cyfr(179233334) jest 9
testResult = ile_cyfr(179233334)==9
9
ile_cyfr(179233334)
Wynikiem funkcji ile_cyfr(1) jest 1
testResult = ile_cyfr(1)==1
1
ile_cyfr(1)
Rozwiąż ćwiczenie

Ćwiczenie 1Podział na rzędy

W spotkaniu weźmie udział określona liczba gości z różnych krajów i określona liczba gospodarzy. Zaproszeni będą siedzieć w rzędach tak, aby każdy rząd był równoliczny i w każdym siedzieli albo tylko goście, albo tylko gospodarze. Jaka jest największa możliwa liczba osób w każdym rzędzie? Zdefiniuj funkcję rzad(goscie, gospodarze), której parametrami są liczba gości i gospodarzy, a wynikiem jest liczebność rzędu. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji rzad(72, 90) jest 18.
  • Wynikiem funkcji rzad(24, 36) jest 12.
def nwd(a, b): #zdefiniuj funkcję def rzad(goscie, gospodarze): #zdefiniuj funkcję i sprawdź jej działanie pass
Wynikiem funkcji rzad(100, 100) jest 100.
testResult = rzad(100, 100)==100
100
rzad(100, 100)
Wynikiem funkcji rzad(51, 65) jest 1.
testResult = rzad(51, 65)==1
1
rzad(51, 65)
Wynikiem funkcji rzad(32, 48) jest 16.
testResult = rzad(32, 48)==16
16
rzad(32, 48)
Rozwiąż ćwiczenie

Ćwiczenie 2Podział na grupy

Należy podzielić gości i gospodarzy na możliwie małe drużyny tak, by w każdej drużynie była jednakowa liczba gości i gospodarzy. Zdefiniuj funkcję ile(goscie, gospodarze), której parametrami są liczba gości i liczba gospodarzy, a wynikiem jest liczebność każdej drużyny. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji ile(25, 35) jest 12.
  • Wynikiem funkcji ile(49, 42) jest 13.
def ile(goscie, gospodarze): # zdefiniuj funkcję i sprawdź jej działanie pass
Wynikiem funkcji ile(100, 100) jest 2.
testResult = ile(100, 100)==2
2
ile(100, 100)
Wynikiem funkcji ile(51, 65) jest 116.
testResult = ile(51, 65)==116
116
ile(51, 65)
Wynikiem funkcji ile(32, 48) jest 5.
testResult = ile(32, 48)==5
5
ile(32, 48)
Rozwiąż ćwiczenie

Ćwiczenie 3Spotkania zespołów

W ramach przygotowań do spotkania powstały dwa zespoły: zespół programowy i zespół przygotowujący materiały. Pierwszy spotyka się co x dni, drugi co y. Dziś spotkały się oba zespoły. Zdefiniuj funkcję kiedy(x, y), w której jako parametry będziesz podawać, co ile dni spotykają się zespoły, a wynikiem będzie liczba dni, jakie upłyną do następnego wspólnego spotkania obu zespołów. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji kiedy(6, 4) jest 12.
  • Wynikiem funkcji kiedy(9, 12) jest 36.
def kiedy(x, y): # zdefiniuj funkcję i sprawdź jej działanie pass
Wynikiem funkcji kiedy(2, 5) jest 10.
testResult = kiedy(2, 5)==10
10
kiedy(2, 5)
Wynikiem funkcji kiedy(3, 3) jest 3.
testResult = kiedy(3, 3)==3
3
kiedy(3, 3)
Wynikiem funkcji kiedy(4, 7) jest 28.
testResult = kiedy(4, 7)==28
28
kiedy(4, 7)
Rozwiąż ćwiczenie

Ćwiczenie 4Sprytne zakupy

Każdy gość powinien dostać taką samą liczbę długopisów, ołówków i flamastrów. Zdefiniuj funkcję flamastry(x, y, z), której parametrami są liczba długopisów w paczce (x), liczba ołówków w paczce (y) i liczba sztuk flamastrów w paczce (z), a wynikiem jest najmniejsza liczba opakowań flamastrów, jakie gospodarze powinni kupić, aby nic nie zostało. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji flamastry(6, 8, 10) jest 12.
  • Wynikiem funkcji flamastry(39, 26, 52) jest 3.
def flamastry(x, y, z): # zdefiniuj funkcję i sprawdź jej działanie pass
Wynikiem funkcji flamastry(5, 110, 15) jest 22.
testResult = flamastry(5, 110, 15)==22
22
flamastry(5, 110, 15)
Wynikiem funkcji flamastry(5, 10, 15) jest 2.
testResult = flamastry(5, 10, 15)==2
2
flamastry(5, 10, 15)
Wynikiem funkcji flamastry(7, 9, 7) jest 9.
testResult = flamastry(7, 9, 7)==9
9
flamastry(7, 9, 7)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 1

Zdefiniuj funkcję suma_cyfr(liczba), której wynikiem jest suma cyfr liczby. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji suma_cyfr(123) jest 6.
  • Wynikiem funkcji suma_cyfr(17923) jest 22.
def suma_cyfr(liczba): # zdefiniuj funkcję i sprawdź jej działanie pass
Wynikiem funkcji suma_cyfr(12) jest 3.
testResult = suma_cyfr(12)==3
3
suma_cyfr(12)
Wynikiem funkcji suma_cyfr(179233334) jest 35.
testResult = suma_cyfr(179233334)==35
35
suma_cyfr(179233334)
Wynikiem funkcji suma_cyfr(1) jest 1.
testResult = suma_cyfr(1)==1
1
suma_cyfr(1)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 2

Zdefiniuj funkcję iledo6(lista), której wynikiem jest liczba liczb na liście aż do 6. Przyjmij, że 6 występuje co najmniej raz. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji iledo6([1, 2, 3, 4, 5, 6, 7]) jest 5.
  • Wynikiem funkcji iledo6([1, 6, 3, 5, 5, 6, 7]) jest 1.
def iledo6(lista): # zdefiniuj funkcję i sprawdź jej działanie pass
Wynikiem funkcji iledo6([6]) jest 0.
testResult = iledo6([6])==0
0
iledo6([6])
Wynikiem funkcji iledo6([1, 1, 1, 1, 5, 6, 6, 6, 6]) jest 5.
testResult = iledo6([1, 1, 1, 1, 5, 6, 6, 6, 6])==5
5
iledo6([1, 1, 1, 1, 5, 6, 6, 6, 6])
Wynikiem funkcji iledo6([0, 0, 0, 0, 6]) jest 4.
testResult = iledo6([0, 0, 0, 0, 6])==4
4
iledo6([0, 0, 0, 0, 6])
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 3

Zdefiniuj funkcję suma(lista), której wynikiem jest suma liczb na liście aż do napotkania 0. Przyjmij, że 0 występuje co najmniej raz. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji suma([1, 2, 3, 4, 0, 6, 7]) jest 10.
  • Wynikiem funkcji suma([1, 2, 0, 4, 5, 6, 0]) jest 3.
def suma(lista): # zdefiniuj funkcję i sprawdź jej działanie pass
Wynikiem funkcji suma([2, 4, 11, 6, 5, 0, 7, 6]) jest 28.
testResult = suma([2, 4, 11, 6, 5, 0, 7, 6])==28
28
suma([2, 4, 11, 6, 5, 0, 7, 6])
Wynikiem funkcji suma([1, 1, 0, 1, 1, 6]) jest 2.
testResult = suma([1, 1, 0, 1, 1, 6])==2
2
suma([1, 1, 0, 1, 1, 6])
Wynikiem funkcji suma([0]) jest 0.
testResult = suma([0])==0
0
suma([0])
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 4

Zdefiniuj funkcję sumap(lista), której wynikiem jest suma liczb parzystych na liście aż do napotkania 0. Przyjmij, że 0 występuje co najmniej raz. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji sumap([1, 2, 3, 4, 0, 6, 7]) jest 6.
  • Wynikiem funkcji sumap([2, 2, 2, 4, 2, 6, 0]) jest 18
def sumap(lista): # zdefiniuj funkcję i sprawdź jej działanie pass
Wynikiem funkcji sumap([2, 4, 11, 6, 5, 0, 7, 6]) jest 12.
testResult = sumap([2, 4, 11, 6, 5, 0, 7, 6])==12
12
sumap([2, 4, 11, 6, 5, 0, 7, 6])
Wynikiem funkcji sumap([1, 1, 0, 1, 1, 6]) jest 0.
testResult = sumap([1, 1, 0, 1, 1, 6])==0
0
sumap([1, 1, 0, 1, 1, 6])
Wynikiem funkcji sumap([0]) jest 0.
testResult = sumap([0])==0
0
sumap([0])
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 5

Zdefiniuj funkcję sumanp(lista), której wynikiem jest suma liczb nieparzystych na liście aż do napotkania 0. Przyjmij, że 0 występuje co najmniej raz. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji sumanp([1, 2, 3, 4, 0, 6, 7]) jest 4.
  • Wynikiem funkcji sumanp([2, 2, 2, 4, 2, 6, 0]) jest 0.
def sumanp(lista): # zdefiniuj funkcję i sprawdź jej działanie pass
Wynikiem funkcji sumanp([2, 4, 11, 6, 5, 0, 7, 6]) jest 16.
testResult = sumanp([2, 4, 11, 6, 5, 0, 7, 6])==16
16
sumanp([2, 4, 11, 6, 5, 0, 7, 6])
Wynikiem funkcji sumanp([1, 1, 0, 1, 1, 6]) jest 2.
testResult = sumanp([1, 1, 0, 1, 1, 6])==2
2
sumanp([1, 1, 0, 1, 1, 6])
Wynikiem funkcji sumanp([0]) jest 0.
testResult = sumanp([0])==0
0
sumanp([0])
Rozwiąż ćwiczenie