{ "cells": [ { "cell_type": "markdown", "id": "68dcea45-5a67-464b-89df-079b36e22143", "metadata": { "tags": [] }, "source": [ "# 2. Introdução ao Python: Variáveis Booleanas, Operadores Relacionais e Comandos *if, while, for*." ] }, { "cell_type": "markdown", "id": "54d1cefc-58df-4d2b-b8b7-890bb0c57232", "metadata": {}, "source": [ "\n", "

\n", "Neste tutorial aprenderemos com utilizar as variáveis boolenas (True e False) e os comandos if, while, for.\n", "

\n", "" ] }, { "cell_type": "markdown", "id": "8dd1150d-2886-4cf5-b5e4-9526687968ab", "metadata": {}, "source": [ "## 2.1 Variáveis Booleanas e Operadores Relacionais" ] }, { "cell_type": "markdown", "id": "c0d5dbac", "metadata": {}, "source": [ "\n", "

\n", "As variáveis boleanas (True e False) são usandas quando queremos verificar que determinada relação em nosso códio é verdadeira True ou false False. Essa verificação é feita através dos seguintes operadores relacionais:

\n", "\n", "\n", "\\begin{aligned}\n", " == & & Igual\\ a \\\\\n", " != & & Diferente\\ de\\\\\n", " < & & Menor\\ que\\\\\n", " > & & Maior\\ que\\\\\n", " <= & & Menor\\ ou\\ igual\\ a\\\\\n", " >= & & Maior\\ ou\\ igual\\ a\n", "\\end{aligned}\n", "\n", "\n", "

\n", "Vejamos os exemplos abaixo:\n", "" ] }, { "cell_type": "code", "execution_count": 3, "id": "6f60f822", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "False True False False True True\n" ] } ], "source": [ "A = 5 ; B = 6 # usamos o ; para não precisar digitar (B=6) em outra linha.\n", "print(A==B, A!=B, A>B, A>=B, A\n", "

\n", "Além dos operadores mencionados acima, podemos querer combiar diversas condições para se obeter valores True ou False. Os operadores mais comuns são o and (E), or (Ou), not (Não).\n", "Vejamos os exemplos abaixo para entendermos na prática o que esses operadores fazem.\n", "" ] }, { "cell_type": "markdown", "id": "1ba87579", "metadata": {}, "source": [ "### A *and* B (retorna True caso A e B sejam True, caso contrário retorna False)" ] }, { "cell_type": "code", "execution_count": 2, "id": "3dbc8389", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "True and True" ] }, { "cell_type": "code", "execution_count": 7, "id": "dbf9d8fa", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "True and False # mesmo que (False and True)" ] }, { "cell_type": "code", "execution_count": 4, "id": "0cb46f41", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "False and False" ] }, { "cell_type": "markdown", "id": "bdeedd32", "metadata": {}, "source": [ "### A *or* B (retorna True caso A ou B for True, caso contrário retorna False)" ] }, { "cell_type": "code", "execution_count": 5, "id": "5f0d8c0d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "True or True" ] }, { "cell_type": "code", "execution_count": 6, "id": "0870537a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "True or False # mesmo que (False or True)" ] }, { "cell_type": "code", "execution_count": 8, "id": "91cb191d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "False or False" ] }, { "cell_type": "markdown", "id": "8696bb07", "metadata": {}, "source": [ "### *not* A (inverte o valor de A)" ] }, { "cell_type": "code", "execution_count": 10, "id": "716ef329", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "not True" ] }, { "cell_type": "code", "execution_count": 11, "id": "a280d717", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "not False" ] }, { "cell_type": "markdown", "id": "c70c7552", "metadata": {}, "source": [ "\n", "

\n", "Podem também querer combinar diversas condições do tipo:
\n", " A operador B operador C operador D ...
\n", "Geralmente não precisamos mais do que três variáveis (A, B e C).\n", "" ] }, { "cell_type": "code", "execution_count": 12, "id": "6bee3d7e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "True and (False or True)" ] }, { "cell_type": "code", "execution_count": 14, "id": "81cf0359", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(True and False) and True " ] }, { "cell_type": "markdown", "id": "927f5bbb", "metadata": {}, "source": [ "## 2.3 Comandos *if* (se) e *else* (senão)" ] }, { "cell_type": "markdown", "id": "76650aa2", "metadata": {}, "source": [ "\n", "

\n", "Agora que sabemos como trabalhar com as variáveis boolenas True (Verdadeiro) e False (Falso)\n", "podemos agora colocá-los em prática em nossos códigos.

\n", "Basicamente temos a seguinte estrutura:

\n", "if(condição):
\n", "   comando1
\n", "else:
\n", "   comando2

\n", "Ou simplesmente:

\n", "if(condição):
\n", "   comando1\n", "

\n", "é importante inseir uma tabulação (TAB) antes dos comandos condicionais para que eles sejam executados\n", "dentro do bloco do if.
\n", "Vejamos os exemplos a seguir:\n", "

\n", "" ] }, { "cell_type": "code", "execution_count": 24, "id": "eedff2ed", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A é diferente de B\n" ] } ], "source": [ "A = 5\n", "B = 6\n", "C = \"texto\"\n", "\n", "if(A==B): # Aqui a condição é A==B\n", " print(\"A é igual a B\") # esse comando será executado apenas se a condição do if for True\n", "else:\n", " print(\"A é diferente de B\") # esse comando será executado apenas se a condição do if for False" ] }, { "cell_type": "code", "execution_count": 25, "id": "a55a2a80", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A condição acima foi True: \t C = texto\n" ] } ], "source": [ "if(C==\"texto\" or C==\"palavra\"): # Aqui a condição é (C==\"texto\" or C==\"palavra\")\n", " print(\"A condição acima foi True: \\t C = %s\" % C)" ] }, { "cell_type": "code", "execution_count": 28, "id": "23da0ea0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A não é maior do que B\n" ] } ], "source": [ "if(not (A>B)):\n", " print(\"A não é maior do que B\")\n", "else:\n", " print(\"A é maior do que B\")" ] }, { "cell_type": "code", "execution_count": 29, "id": "686aaccd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A é menor do que B\n" ] } ], "source": [ "if(not (A

\n", " O comando while é usado quando queremos que o comando seguinte a ele seja executado repetidamente \"enquanto\" a condição dentro do while seja satisfeita (True).

\n", "while(condição):
\n", "   comando

\n", "Vejamos o exemplo a seguir:\n", "

" ] }, { "cell_type": "code", "execution_count": 52, "id": "381c86e8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x = 1\n", "x = 2\n", "x = 3\n", "x = 4\n" ] } ], "source": [ "x = 1\n", "while(x<5): # Os comando abaixo serão executados 4 vezes até x ser igual ou maior do que 5.\n", " print(\"x = \", x) # A tabulção também é necessária no uso do while! \n", " x = x+1 " ] }, { "cell_type": "markdown", "id": "d7558a49", "metadata": {}, "source": [ "## 2.5 Comando *for* (para)" ] }, { "cell_type": "markdown", "id": "2609887b", "metadata": {}, "source": [ "

\n", " O comando for é um comando do tipo laço (loop) semelhante ao comando while, isto é, os comandos que estiverem abaixo do for serão executados enquanto sua condição for satisfeita.
\n", " O for se utiliza de \"listas\" (que serão tratadas na próxima aula) para executerem seus comandos condicionais. Abaixo veremos nossa primeira lista implícita range(N), que basicamente é uma lista de números inteiros menores do que N: \n", "

\n", " range(N) = [0, 1, 2, 3, ..., N-2, N-1] \n", "

\n", " Exemplo:
\n", "  range(2) = [0, 1]
\n", "  range(3) = [0, 1, 2]
\n", "  range(4) = [0, 1, 2, 3]
\n", "  range(5) = [0, 1, 2, 3, 4]
\n", "

\n", " Como utilizar o for:\n", "

\n", " for i in range(N):
\n", "   comandos condicionais\n", "

\n", "Acima identificamos i (ou outro nome desejado) com um elemento da nossa lista que iniciará com o valor inical do mesmo (i=0), e será incrementado +1 (valor seguinte em nossa lista) até i = N-1. Enquanto a condição (i < N) for satisfeita os comandos condicionais serão executados.\n", "

\n", "Vejamos os exemplos abaixo:\n", "

" ] }, { "cell_type": "code", "execution_count": 53, "id": "c10f151c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "i = 0\n", "i = 1\n", "i = 2\n", "i = 3\n", "i = 4\n", "i = 5\n", "i = 6\n", "i = 7\n", "i = 8\n", "i = 9\n" ] } ], "source": [ "# Exemplo de contador:\n", "for i in range(10): # Aqui \"i\" começa com o valor 0. Esse valor será incrementado até i<10\n", " print(\"i = \", i) # Esse comando será executado várias vezes até i<10 (tabulação necessária!)" ] }, { "cell_type": "code", "execution_count": 48, "id": "7bd1cfba", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5 x 0 = 0\n", "5 x 1 = 5\n", "5 x 2 = 10\n", "5 x 3 = 15\n" ] } ], "source": [ "# Exemplo de operação matemática:\n", "for j in range(4): # a variável entre \"for\" e \"in\" pode ter qualquer nome. Aqui escolhemos \"j\"\n", " print(\"5 x %d = %d\" % (j, 5*j))" ] }, { "cell_type": "code", "execution_count": 50, "id": "78413ffc", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0] Nome do arquivo: arquivo_0.txt\n", "[1] Nome do arquivo: arquivo_1.txt\n", "[2] Nome do arquivo: arquivo_2.txt\n", "[3] Nome do arquivo: arquivo_3.txt\n", "[4] Nome do arquivo: arquivo_4.txt\n" ] } ], "source": [ "# Exemplo de nomeação de arquivos: (Vamos trabalhar com arquivos na aula 5)\n", "for k in range(5):\n", " name = (\"arquivo_%d.txt\" % k) # Uma forma de acrescentar um número inteiro à um string.\n", " print(\"[%d] Nome do arquivo: %s\" % (k, name))" ] }, { "cell_type": "markdown", "id": "50cbc62b", "metadata": {}, "source": [ "

\n", "Outras formas de usar o comando for com outras listas serão apresentadas na próxima aula.\n", "

" ] }, { "cell_type": "markdown", "id": "f46bc367", "metadata": {}, "source": [ "## # Comandos Apresentados:" ] }, { "cell_type": "markdown", "id": "c283cbd8", "metadata": {}, "source": [ "\n", "\n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " \n", "\n", "

Comandos

Significado

TrueValor Veradeiro
FalseValor Falso
== Operador \"Igual a\"\n", "
!= Operador \"Diferente de\"
< Operador \"Maior que\"
> Operador \"Menor que\"
<= Operador \"Menor ou igual a\"
>= Operador \"Maior ou igual a\"
andOperador lógico \"E\"
orOperador lógico \"OU\"
notOperador lógico \"NÃO\"
if(cond): Executa os comandos seguintes caso cond=True
else: Executa os comandos seguinte caso a condição do \"if\" seja False
while(cond) Executa os comandos seguintes repetidamente enquanto cond=True
for x in lista: Executa os comandos seguintes enquanto x estiver dentro da lista.\n", "
\n", "" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.6" } }, "nbformat": 4, "nbformat_minor": 5 }