Wprowadzenie do programowania - Python - ćwiczenia 2
Table of Contents
Adres email prowadzącego: jakub.orlik@up.poznan.pl
Studenci chcący oddać zadania poprzez maila, powinni opatrzyć kod komentarzami wyjaśniającymi, jak dany kod działa. Termin oddawania: 6 czerwca, 23:59
Za każde zadanie można zdobyć jeden punkt.
Pod koniec całego segmentu z Pythona zliczone zostaną punkty z tych i przyszłych zadań. Zaliczenie jest od 60% punktów.
- od 90% punktów - piątka
- od 80% punktów - czwórka
- od 60% punktów - trójka
Porady
Listy
Aby zdefiniować listę, używamy nawiasów kwadratowych:
lista = [1, 2, 3, 4] print(lista)
[1, 2, 3, 4]
Aby dostać się do pierwszego elementu listy, używamy notacji:
lista[numer_elementu]. Numery elementów zaczynają się
od zera. Zatem, aby wybrać pierwszy element z listy, wykonujemy
lista[0]:
lista = ["a", "b", "c"] print(lista[0]) print(lista[1])
a b
Definiowanie funkcji
Aby zdefiniować funkcję o nazwie XYZ, przyjmującej dwa argumenty: arg1 i arg2:
def XYZ(arg1, arg2): # tutaj wcięty kod funkcji
Sklejanie napisów
Aby złączyć ze sobą kawałki napisów, można użyć operatora
+.
print("a" + "B" + "c")
aBc
lista = ["a", "b", "c"] wynik = "" for znak in lista: wynik = wynik + znak print(wynik)
abc
Sprawdzanie długości listy
Długość list i napisów możemy sprawdzić za pomocą funkcji
len.
print(len("abcdef"))
6
print(len(["raz", 2, "trzy"]))
3
Iterowanie po znakach w napisach
Po znakach w napisach można iterować tak samo, jak po elementach tablic:
napis = "abc" for litera in napis: print(litera)
a b c
Zmiana liczby na napis
Za pomocą funkcji str można zmienić liczbę na napis
reprezentujący tę liczbę:
liczba = 123 napis = str(123) for cyfra in napis: print(cyfra)
1 2 3
Zmiana napisu na liczbę
Za pomocą funkcji int można zmienić napis
reprezentujący liczbę (lub pojedynczą cyfrę) na liczbę:
napis1 = "123" napis2 = "234" suma = int(napis1) + int(napis2) print(suma)
357
Potęgowanie liczb
Potęgowanie można wykonać za pomocą funkcji pow.
Funkcja ta przyjmuje dwa argumenty: pierwszy to podstawa potęgi, a
drugi to wykładnik potęgi
print(pow(2,3))
8
Przerywanie pętli
Pętlę można przerwać za pomocą słówka kluczowego
break:
for liczba in [1,2,3,4,5,6,7,8]: print(liczba) if liczba == 4: break
1 2 3 4
Wykonywanie pętli określoną liczbę razy
Za pomocą `range` można wykonać pętlę for, która
wykona się zadaną ilość razy:
for liczba in range(3): print(liczba)
0 1 2
To samo można osiągnąć za pomocą pętli while w
następujący sposób:
i=0 while(i<3): print(i) i+=1
0 1 2
Sprawdzanie podzielności
Podzielność można sprawdzać za pomocą operatora %,
który zwraca resztę z dzielenia:
print(7 % 3)
1
Tworzenie listy element po elemencie
Możemy zacząć od pustej listy i dodawać do niej kolejne elementy
lista = [] lista.append(1) lista.append(2) lista.append("trzy") print(lista)
[1, 2, 'trzy']
lista = [] for i in range(3): lista.append(i) print(lista)
[0, 1, 2]
1. Suma liczb
Napisz funkcję, która przyjmuje listę liczb jako argument i zwraca ich sumę
print(suma([1,2,3,4,5]))
15
2. Najmniejsza z liczb
Napisz funkcję, która przyjmuje listę liczb jako argument i zwraca najmniejszą z tych liczb
print(najmniejsza([0, -1, 10]))
-1
3. Sąsiedzi
Napisz funkcję, która przyjmuje listę liczb jako argument i zwraca True, jeżeli istnieje para sąsiednich liczb taka, że obydwie liczby są sobie równe, a False w przeciwnym wypadku
print(sasiedzi([0,1,2,2,3]))
True
print(sasiedzi([0,1,2,3]))
False
4. Średnia arytmetyczna
Napisz funkcję, która przyjmuje listę liczb jako argument i zwraca średnią arytmetyczną tych liczb
print(srednia([1,2,3]))
2.0
5. Potęgi
Napisz funkcję, która jako argumenty przyjmuje: listę liczb ("lista") oraz liczbę ("potęga") i zwraca nową listę liczb, zawierającą wszystkie liczby z "lista", ale podniesione do potęgi "potęga".
Można użyć funkcji pow.
print(potegi([1,2,3], 2))
[1, 4, 9]
print(potegi([0, 5, 8, 10], 2))
[0, 25, 64, 100]
6. Suma cyfr
Napisz funkcję, która przyjmuje liczbę jako argument i zwraca sumę cyfr tej liczby
print(sumaCyfr(1234))
10
7. Największa cyfra
Napisz funkcję, która przyjmuje liczbę jako argument i zwraca największą cyfrę z tej liczby
print(najwiekszaCyfra(1234))
4
8. Wybierz parzyste
Napisz funkcję, która przyjmuje listę liczb jako argument i zwraca nową listę, zawierającą tylko te liczby z podanej listy, które są parzyste
print(wybierzParzyste([0, 1, 2, 3, 4, 5, 6, 7, 8])) print(wybierzParzyste([1, 3, 5, 8, 2])) print(wybierzParzyste([11, 13, 15, 17]))
[0, 2, 4, 6, 8] [8, 2] []
9. Suma cyfr bis
Napisz funkcję, która przyjmuje listę liczb jako argument i zwraca sumę wszystkich cyfr z tych liczb
print(sumaCyfrBis([12, 13, 14, 15]))
18
10. Palindromy
Napisz funkcję, która przyjmuje napis jako argument i zwraca
True, jeżeli ten napis jest palindromem;
False w przeciwnym wypadku.
print(jestPalindromem("kajak"))
True
print(jestPalindromem("kajaki"))
False