Warunki i pÄtle
=================
Trzy liczby
-------------
**ZADANIE**: Pobierz od użytkownika trzy liczby, sprawdź, która jest najmniejsza i wydrukuj jÄ
na ekranie.
**POJÄCIA**: *pÄtla, obiekt, metoda, instrukcja warunkowa zagnieżdżona, formatowanie kodu*.
.. raw:: html
Kod nr
.. literalinclude:: 02_if.py
:linenos:
JAK TO DZIAÅA
^^^^^^^^^^^^^^
PÄtla ``while`` umożliwia powtarzanie okreÅlonych operacji, czyli pozwala użytkownikowi wprowadzaÄ
kolejne serie liczb. DefiniujÄ
c pÄtle okreÅlamy warunek powtarzania kodu. Dopóki jest prawdziwy,
czyli dopóki zmienna *op* ma wartoÅÄ "t" pÄtla dziaÅa. Do wydzielania kodu przynależnego do pÄtli
i innych instrukcji (np. ``if``) stosujemy wciÄcia. FormatujÄ
c kod, możemy używaÄ zarówno tabulatorów,
jak i spacji, ważne aby w obrÄbie pliku byÅo to konsekwentne.
.. note::
Dobry styl programowania sugeruje używanie do wciÄÄ 4 spacji.
W Pythonie wszystko jest obiektem, czyli typy wbudowane, np. napisy, posiadajÄ
metody (funkcje)
wykonujÄ
ce okreÅlone operacje na wartoÅciach. W podanym kodzie funkcja ``raw_input()`` zwraca
ciÄ
g znaków wprowadzony przez użytkownika, z którego wydobywamy poszczególne sÅowa za pomocÄ
metody ``split()`` typu string.
Instrukcje warunkowe (``if``), jak i pÄtle, można zagnieżdżaÄ stosujÄ
c wciÄcia.
W jednej zÅożonej instrukcji warunkowej można sprawdzaÄ wiele warunków (``elif:``).
POÄWICZ SAM
^^^^^^^^^^^^^^
Sprawdź, co siÄ stanie, jeÅli podasz liczby oddzielone przecinkiem lub podasz
za maÅo liczb. ZmieÅ program tak, aby poprawnie interpretowaÅ dane oddzielane przecinkami.
Wydrukuj alfabet
-----------------
**ZADANIE**: Wydrukuj alfabet w porzÄ
dku naturalnym, a nastÄpnie odwróconym w formacie:
"maÅa => duża litera". W jednym wierszu trzeba wydrukowaÄ po piÄÄ takich grup.
**POJÄCIA**: *iteracja, pÄtla, kod ASCII, lista, inkrementacja, operatory arytmetyczne, logiczne, przypisania i zawierania*.
.. raw:: html
Kod nr
.. literalinclude:: 03_petle_02.py
:linenos:
JAK TO DZIAÅA
^^^^^^^^^^^^^^
PÄtla for wykorzystuje zmiennÄ
i, która przybiera wartoÅci z listy liczb caÅkowitych zwróconej przez funkcjÄ ``range()``. Parametry tej funkcji okreÅlajÄ
wartoÅÄ poczÄ
tkowÄ
i koÅcowÄ
listy, przy czym wartoÅÄ koÅcowa nie wchodzi do listy. Kod ``range(122,96,-1)`` generuje listÄ wartoÅci malejÄ
cych od 122 do 97(!) z krokiem -1.
Funkcja ``chr()`` zwraca znak, którego kod ASCII, czyli liczbÄ caÅkowitÄ
, przyjmuje jako argument. Metoda ``lower()`` typu string (napisu) zwraca maÅÄ
literÄ, ``upper()`` â dużÄ
. Wyrażenie przypisywane zmiennej *tmp* pokazuje, jak można ÅÄ
czyÄ napisy (konkatenacja).
Zmienna pomocnicza ``x`` jest zwiÄkszana (inkrementacja) w pÄtlach o 1. Wyrażenie ``x += 1`` odpowiada wyrażeniu ``x = x + 1``. Pierwszy warunek wykorzystuje operator logiczny ``and`` (koniunkcjÄ) i operator modulo ``%`` (zwraca resztÄ z dzielenia), aby do ciÄ
gu znaków w zmiennej ``tmp`` dodaÄ znak koÅca linii (``\n``) za pomocÄ
operatora ``+=``. W drugim warunku używamy operatora porównania ``==``.
Poniżej podano wybrane operatory dostÄpne w Pythonie.
* **Arytmetyczne**: +, -, \*, /, //, %, \*\* (potÄgowanie); znak + znak (konkatenacja napisów); znak * 10 (powielenie znaków)
* **Przypisania**: =, +=, -=, \*=, /=, %=, \*\*=, //=
* **Logiczne**: and, or, not
FaÅszem logicznym sÄ
: liczby zero (0, 0.0), False, None (null), puste kolekcje ([], (), {}, set()), puste napisy. Wszystko inne jest prawdÄ
logicznÄ
.
* **Zawierania**: in, not in
* **Porównania**: ==, >, <, <>, <=, >= != (jest różne)
POÄWICZ SAM
^^^^^^^^^^^^^^
UproÅÄ warunek w pierwszej pÄtli ``for`` drukujÄ
cej alfabet w porzÄ
dku naturalnym tak, aby nie używaÄ operatora modulo.
Wydrukuj co n-tÄ
grupÄ liter alfabetu, przy czym wartoÅÄ *n* podaje użytkownik. Wskazówka: użyj opcjonalnego, trzeciego argumentu funkcji ``range()``.
Sprawdź dziaÅanie różnych operatorów Pythona w konsoli.
Metryka
^^^^^^^
:Autor: Robert Bednarz
:Utworzony: |date| o |time|
.. |date| date::
.. |time| date:: %H:%M
.. raw:: html
.. include:: ../copyright.rst