Zadanie 12.06.2025
Janek jest wielkim fanem matematyki. Pojawił się u niego pomysł, aby sprawdzać trzy możliwe liczby. Wczytuje je za pomocą zmiennych x, y, z.
Postanowił napisać prosty kalkulator.
- napisz następujące funkcje: dodaj, odejmij, iloczyn, iloraz, pierwiastek oraz potęga, które będą przyjmowały x i y jako argumenty, a wynik działań dodaj do jednej listy o nazwie “wyniki”.
Liczby według Janka są wyjątkowe, jeśli dwukrotnie zdarzy się sytuacja, że którekolwiek z działań na liczbach x i y zwróci wynik wynoszący z. - napisz sprawdzarkę, która sprawdzi, czy w liście “wyniki” rezultaty równe liczbie ‘z’ występuje 2 razy. Jeśli tak – wypisz na ekran “Wyjątkowe”. Jeśli nie – wypisz na ekran “po prostu zwykłe liczby”.
Przykładowo: dla z = 2 wyniki 2,2,3,4,5,6 spełniają warunki
dla z = 2 wyniki 1,2,3,4,5,6 nie spełniają warunków.
Zapętl program (while), aby Janek nie musiał za każdym razem startować programu. Pamiętaj o usunięciu wszystkich elementów z listy “wyniki” np. przypisując do niej pustą listę.
Zadania na napisach:
- Napisz program, który pobierze od użytkownika zdanie i policzy, ile zawiera ono wyrazów (zakładając, że wyrazy są oddzielone spacjami).
🔹 Podpowiedź: Możesz użyć split() i len().
Przykład:
📥 Wejście: “Lubię programować w Pythonie”
📤 Wyjście: 4 - Poproś użytkownika o wpisanie zdania, a następnie wypisz jego pierwsze słowo.
Przykład:
📥 “Python to świetny język”
📤 Python - Napisz program, który pobierze zdanie i wypisze ostatnie słowo.
Przykład:
📥 “Kocham pizzę pepperoni”
📤 pepperoni - Napisz program, który odwróci kolejność słów w podanym zdaniu.
Przykład:
📥 “Programowanie jest super”
📤 “super jest Programowanie” - Napisz program, który zamieni zdanie na jego skrót – weźmie pierwsze litery każdego wyrazu i zwróci je jako wielkie litery.
📥 Wejście: “Szybki brązowy lis skacze”
📤 Wyjście: “SBLS” - Napisz program, który pobierze zdanie i znajdzie w nim najdłuższe słowo.
Przykład:
📥 “Uwielbiam programowanie komputerowe”
📤 “programowanie” - Użytkownik podaje zdanie. Program powinien zamienić miejscami pierwsze i ostatnie słowo w zdaniu.
📥 Wejście: “Lubię pizzę z serem”
📤 Wyjście: “serem pizzę z Lubię” - Użytkownik podaje zdanie zawierające liczby. Napisz program, który wyciągnie same liczby i wypisze je jako listę. (użyj funkcji isdigit()
📥 Wejście: “Mam 3 koty i 2 psy oraz 1 papugę”
📤 Wyjście: [3, 2, 1] - Napisz program, który posortuje słowa w podanym przez użytkownika zdaniu w kolejności alfabetycznej.
📥 Wejście: “banan arbuz cytryna daktyl”
📤 Wyjście: “arbuz banan cytryna daktyl” - Napisz program, który obliczy średnią długość słowa w zdaniu użytkownika.
📥 Wejście: “To jest test”
📤 Wyjście: 3.0 - Napisz program, który przekształci zdanie w format hashtaga – łączy słowa bez spacji i dodaje “#” na początku. (aby usunąć spacje użyj funkcji replace())
📥 Wejście: “programowanie jest super”
📤 Wyjście: #programowaniejestsuper - Napisz program, który zamieni w zdaniu słowne liczby (“jeden”, “dwa”, “trzy”) na ich cyfrowe odpowiedniki. (uzyj funkcji replace())
📥 Wejście: “Mam dwa koty i trzy psy”
📤 Wyjście: “Mam 2 koty i 3 psy” - Napisz program, który podzieli długi tekst na zdania (zakładając, że kończą się one kropką, wykrzyknikiem lub pytajnikiem). (użyj funkcji split(“.”)
📥 Wejście: “To jest zdanie. Oto kolejne! A to pytanie?”
📤 Wyjście: [“To jest zdanie”, “Oto kolejne”, “A to pytanie”] - Użytkownik podaje tekst, a program sprawdza, czy jest to poprawny adres e-mail (czy zawiera “@”). (if “@” in string:)
📥 Wejście: “test@example.com”
📤 Wyjście: True
📥 Wejście: “testexamplecom”
📤 Wyjście: False - Napisz program, który ukryje środkowe cyfry numeru telefonu, pozostawiając tylko pierwsze i ostatnie 3 cyfry.
📥 Wejście: “123456789”
📤 Wyjście: “123***789” - Napisz program, który policzy, ile słów w zdaniu ma więcej niż 5 liter.
📥 Wejście: “Python jest niesamowity i bardzo użyteczny”
📤 Wyjście: 3 (niesamowity, bardzo, użyteczny)
(Działająca wersja) Słownik z ostatnich zajęć:
pol_ang = {"kot": "cat",
"komputer": "computer",
"pies": "dog",
"jeść": "eat",
"i": "and",
"mysz":"mouse",
"sztuczny":"artificial"}
#print(slowa)
while True:
zdanie = input("Podaj zdanie: ")
slowa = zdanie.lower().split()
for s in slowa:
if not s in pol_ang.keys():
tlum = input("Podaj tłumaczenie: ")
pol_ang.update({s:tlum})
print(pol_ang.get(s),end=" ")
for s in slowa:
print(pol_ang.get(s),end=" ")
Instrukcje warunkowe if:
Pomoce: https://www.w3schools.com/python/python_conditions.asp
- Czy mogę wejść na rollercoaster? Napisz program, który pyta użytkownika o jego wzrost (w cm). Jeśli wzrost jest większy lub równy 140 cm, wypisz “Możesz jechać”, w przeciwnym razie “Niestety jesteś jeszcze za niski”. (NOWE)
- Zmodyfikuj powyższe zadanie dodając warunek, że użytkownik musi mieć również skończone 18 lat (>=). (NOWE)
- Liczba parzysta czy nieparzysta? Poproś użytkownika o podanie liczby i sprawdź, czy jest parzysta. Jeśli tak, wypisz “To liczba parzysta!”, w przeciwnym razie “To liczba nieparzysta!”. (NOWE)
- Oceny w szkole. Użytkownik wprowadza ocenę (1-6). Napisz program, który sprawdza, czy ocena to 1-2, 3-4 czy 5-6 i wyświetla odpowiedni komentarz: “Musisz się poprawić!”, “Dobra robota!”, “Świetnie, tak trzymaj!”. (NOWE)
- Czy to liczba ujemna? Pobierz liczbę od użytkownika i sprawdź, czy jest dodatnia, ujemna czy równa zero. (NOWE)
- Zmodyfikuj powyższe zadanie w taki sposób, aby gdy użytkownik wprowadzi ujemną liczbę, program zwróci wartość bezwzględną tej liczby (-5 -> 5) i wyświetli ją na ekran. (NOWE)
- Porównanie liczb. Napisz program, który prosi użytkownika o dwie liczby i wypisze, czy pierwsza z liczb jest większa, mniejsza lub czy równe drugiej liczbie. (NOWE)
Pętle for:
Pomoce: https://www.w3schools.com/python/python_for_loops.asp
- Napisz program, który wypisze na ekran liczby od 60 do 200. (NOWE)
- Napisz program, który wypisze na ekran wszystkie liczby nieparzyste z zakresu od 1 do 51. (NOWE)
- Napisz program, który wypisze na ekran wszystkie liczby podzielne przez 3 z zakresu od 0 do 103. (NOWE)
- Sumowanie liczb. Oblicz sumę liczb od 1 do n, gdzie n podaje użytkownik. (NOWE)
- Gwiazdkowa piramida. Napisz program, który wypisze piramidę z gwiazdek o wysokości podanej przez użytkownika. (NOWE)
- Odliczanie do nowego roku. Wypisz liczby od 10 do 1, a na końcu “Szczęśliwego nowego roku!”. (NOWE)
- Tabliczka mnożenia. Napisz program, który wypisuje tabliczkę mnożenia dla liczby podanej przez użytkownika (dla zakresu 1-10 – np. dla 4 wyniki to: 4, 8, 12, 16, 20, 24, 28, 32, 36, 40). (NOWE)
Pętle while:
Pomoce: https://www.w3schools.com/python/python_while_loops.asp
- Napisz program, który wypisze na ekran liczby od 0 do 50. (NOWE)
- Napisz program, który wypisze na ekran wszystkie liczby nieparzyste z zakresu od 1 do 31. (NOWE)
- Napisz program, który wypisze na ekran wszystkie liczby podzielne przez 3 z zakresu od 0 do 34. (NOWE)
- Sumowanie liczb. Oblicz sumę liczb od 1 do n, gdzie n podaje użytkownik. (NOWE)
- Napisz program, który losuje liczbę od 1 do 10. Użytkownik musi zgadywać, dopóki nie trafi w wylosowaną przez komputer liczbę. (NOWE)
- Napisz program, który będzie pobierać od użytkownika liczby, dopóki nie poda liczby większej od zera. (NOWE)
- Napisz program, który będzie pytać użytkownika o hasło, dopóki nie wprowadzi hasła “ProgramowanieJestSuper123”. (NOWE)
- Odliczanie do startu rakiety. Napisz program, który będzie odliczać od 10 do 0, a następnie wypisze na ekran “Start rakiety!”. (NOWE)
- Suma wpisanych liczb. Pobieraj liczby od użytkownika i sumuj je, dopóki użytkownik nie wpisze 0. (NOWE)
Listy:
Pomoce: https://www.w3schools.com/python/python_lists.asp
- Napisz listę, która (przy pomocy biblioteki random) zostanie wypełniona 20 liczbami z zakresu od 1 do 100.
- Napisz program, który policzy sumę wszystkich elementów w liście.
- Napisz program, który policzy sumę wszystkich elementów parzystych w liście.
- Napisz program, który obliczy iloczyn wszystkich liczb znajdujących się na nieparzystych indeksach listy.
- Napisz program, który obliczy średnią arytmetyczną liczb w liście.
- Napisz program, który wyświetli na ekran medianę liczb w liście (środkową wartość względem uporządkowanych wartości).
- Napisz program, który zwróci największą i najmniejszą wartość z listy. Zrób te zadanie na dwa sposoby – z użyciem sortowania i bez sortowania wartości (iterując po liście).
- Napisz program, który zamieni pierwszy i ostatni element w liście.
- Napisz program, który wypisze 5 ostatnich elementów listy na ekran.
- Stwórz nowe listy na podstawie podstawowej listy, w której zapiszesz: w liście 1 – liczby podzielne przez 2,
w liście 2 – liczby podzielne przez 5, w liście 3 – liczby, które nie są podzielne przez 6, 9. - Napisz program, który z listy usunie wszystkie wartości większe niż 50 i w miejsce usuniętych elementów wpisze losowe liczby z zakresu od 1 do 50.
- Sprawdź ile z cyfr z listy jest mniejszych niż 25, a ile jest większych, bądź równych 25.
- Stwórz nową listę o nazwie “bez_duplikatow”, która będzie listą podstawową ale bez wartości powtarzających się.
np. [1,2,3,1,2] -> [1,2,3] - Stwórz nową listę o nazwie “kwadraty”, która będzie zawierała wartości, które będą kwadratami liczb z listy podstawowej. np. [1,2,3] -> [1,4,9]. Użyj biblioteki math.
- Napisz kod, który przemiesza losowo wartości w liście (np. random.shuffle() z biblioteki random).
- Napisz program, który sprawdzi ile jest liczb nieparzystych w liście, a ile jest liczb parzystych w liście.
- Sprawdź ile razy w liście pojawia się sytuacja, że kolejna cyfra jest większa od poprzedniej. Wynik wypisz na ekran.
- Sprawdź jaka jest najczęściej pojawiająca się liczba w liście. Jeśli jest ich kilka wypisz tylko jedną na ekran. Użyj funkcji count do wykonania tego zadania. https://www.w3schools.com/python/trypython.asp?filename=demo_ref_list_count2
- Napisz program, który przekształci całą listę na napis np. [1, 2, 3, 4] -> “1234”.
- Napisz program, który przekonwertuje napis (liczbę) na listę liczb. np. “1234” -> [1, 2, 3, 4] (pamiętaj, że napis to też jest lista i możesz iterować po jej literach).
- Napisz program, który wypisze na ekran ilość liczb znajdujących się w zakresie podanym przez użytkownika.
Funkcje:
Pomoce: https://www.w3schools.com/python/python_functions.asp
- Funkcja dodająca dwie liczby. Napisz funkcję, która przyjmuje dwie liczby i zwraca ich sumę. (NOWE)
- Funkcja licząca silnię. Napisz funkcję, która zwraca silnię liczby (n! – np. dla n=5 podanego dla użytkownika zwraca wynik mnożenia 1*2*3*4*5). (NOWE)
- Czy liczba jest parzysta? Stwórz funkcję, która sprawdza, czy liczba jest parzysta. (NOWE)
- Napisz funkcję powitanie(imie, nazwisko), która wypisuje na ekran “Cześć, {imie} {nazwisko}!”. (NOWE)
- Maksimum z trzech liczb. Stwórz funkcję przyjmującą 3 argumenty: x,y,z, która zwraca największą z trzech podanych liczb. (NOWE)
Biblioteka math:
Pomoce: https://www.w3schools.com/python/python_math.asp
- Pobierz liczbę od użytkownika i wypisz jej pierwiastek kwadratowy. (NOWE)
- Pobierz liczbę od użytkownika i wypisz jej potęgę kwadratową i potęgę do sześcianu. (NOWE)
- Pobierz promień i oblicz pole koła. (math.pi) (NOWE)
- Pobierz liczbę zmiennoprzecinkową (float) i zaokrąglij ją do do dołu (math.floor) oraz zaokrąglij ją do góry (math.ceil). Dodatkowo zaokrąglij liczbę do dwóch miejsc po przecinku (round()) (NOWE)
Proste zadania – analizowanie:
Zadania pochodzą z serwisu SPOJ.PL: (NOWE)
