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.

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

Author: Kuba Orlik

Created: 2022-06-03 Fri 21:34

Validate