"Pętla FOR umożliwia wielokrotne wykonanie zadanych operacji. W pętli for zawsze musimy napisać nazwę zmiennej po której iterujemy kolejne przejścia pętli oraz zakres wartości jakie ta zmienna będzie przyjmowała w kolejnych przejściach pętli. Cały blok poleceń przynależących do pętli for musi być odsunięty o taką samą ilość białych znaków!\n",
"\n",
"_FOR zmienna IN zakres :_\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## for i in range():\n",
"range() pozawala określić zakres, funkcja range() przyjmuje 3 argumenty:\n",
"* początek zakresu *(domyślnie ustawiony na 0)\n",
"* koniec zakresu (__UWAGA__ zawsze jest to zakres z prawej strony otwarty tzn. kończy się __przed__ podaną liczbą__)\n",
"* jeżeli w funkcji range podamy tylko 1 argument zostanie on uznany za koniec zakresu\n",
"* jeżeli podamy 2 argumenty to pierwszy z nich zostanie potraktowany jako początek zakresu, drugi jako koniec zakresu\n",
"* jeżeli podamy 3 argumenty, zostaną one kolejno potraktowane jako: początek zakresu, koniec zakresu, krok"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0\n",
"1\n",
"2\n",
"3\n",
"4\n"
]
}
],
"source": [
"for i in range(5):\n",
" print(i)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1\n",
"2\n",
"3\n",
"4\n"
]
}
],
"source": [
"for i in range(1,5):\n",
" print(i)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0\n",
"2\n",
"4\n"
]
}
],
"source": [
"for i in range(0,5,2):\n",
" print(i)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## for i in list:\n",
"zmienna i może przyjmować kolejne wartości z podanej wcześniej listy elementów np."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1\n",
"5\n",
"tekst\n",
"10\n"
]
}
],
"source": [
"lista = [1,5,\"tekst\",10]\n",
"\n",
"for i in lista:\n",
" print(i)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## for i in tekst:\n",
"w analogiczny sposób możemy postąpić ze zmienną tekstową, wówczas w kolejnych przejściach pętli za wartość i podstawiane są kolejne znaki zadanego tekstu:"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"d\n",
"o\n",
"w\n",
"o\n",
"l\n",
"n\n",
"a\n",
" \n",
"z\n",
"m\n",
"i\n",
"e\n",
"n\n",
"n\n",
"a\n",
" \n",
"t\n",
"e\n",
"k\n",
"s\n",
"t\n",
"o\n",
"w\n",
"a\n"
]
}
],
"source": [
"tekst = \"dowolna zmienna tekstowa\"\n",
"\n",
"for i in tekst:\n",
" print(i)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## zastosowanie\n",
"pętla for może wykonywać dowolne operacje. Może, ale nie musi, wykorzystywać zmienną \"i\" (zmienną \"i\" możemy zastąpć zmienną o dowolnej nazwie). Poniżej kilka przykładów:"