A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução a Programação

Apresentações semelhantes


Apresentação em tema: "Introdução a Programação"— Transcrição da apresentação:

1 Introdução a Programação
4 – Condicionais e Controle de fluxo Prof. Eduardo Falcão

2 Siga o fluxo Os programas Python que escrevemos até agora têm ideias fixas: eles podem somar dois números ou exibir alguma coisa, mas não têm a capacidade de escolher um desses resultados em lugar do outro. O controle de fluxo nos dá a capacidade de escolher entre resultados com base no que está acontecendo no programa.

3 Siga o fluxo def clinic(): print ("Voce acabou de entrar na clinica!")
print ("Voce entra pela porta a esquerda (left) ou a direita (right)?") answer = input("Digite left (esquerda) ou right (direita) e pressione 'Enter'.").lower() if answer == "left" or answer == "l": print("Esta e a sala de Abuso Verbal, seu monte de caca de papagaio!") elif answer == "right" or answer == "r": print("E claro que esta e a Sala das Discussoes. Eu ja disse isso!") else: print("Voce nao escolheu esquerda ou direita. Tente de novo.") clinic()

4 Compare cuidadosamente!
Vamos começar com o aspecto mais simples do controle de fluxo: comparadores. Existem seis: Igual a ("==") Diferente de ("!=") Menor do que ("<") Menor ou igual a ("<=") Maior que (">") Maior ou igual a (">=") Comparadores verificam se um valor é (ou não) igual, maior do que (ou igual a), ou menor que (ou igual a) outro valor. Note que "==" compara se duas coisas são iguais, e "=" atribui um valor a uma variável.

5 Prática Iguale cada variável a True ou False, dependendo de qual você acha que será o resultado. Por exemplo, 1 < 2 será True, porque um é menor do que dois. Iguale bool_one ao resultado de 17 < 328 Iguale bool_two ao resultado de 100 == (2 * 50) Iguale bool_three ao resultado de 19 <= 19 Iguale bool_four ao resultado de -22 >= -18 Iguale bool_five ao resultado de 99 != (98 + 1) bool_one = True bool_two = True bool_three = True bool_four = False bool_five = False

6 Compare mais de perto! Vamos estudar os comparadores novamente com expressões mais complexas. Atribua um valor True ou False a cada variável, dependendo de qual você acha que será o resultado. Iguale bool_one ao resultado de ( ) > 15 Iguale bool_two ao resultado de (10 + 17) == 3**16 Iguale bool_three ao resultado de 1**2 <= -1 Iguale bool_four ao resultado de 40 * 4 >= -4 Iguale bool_five ao resultado de 100 != 10**2 boo_one = ( ) > 15 bool_two = (10 + 17) == 3**16 bool_three = 1**2 <= -1 bool_four = 40 * 4 >= -4 bool_five = 100 != 10**2 Vamos imprimir os valores? bool_one = ( ) > #false bool_two = ( ) == 3**16 #false bool_three = 1**2 <= #false bool_four = 40 * 4 >= #true bool_five = 100 != 10** #false print("bool_one: " + str(bool_one)) print("bool_two: " + str(bool_two)) print("bool_three: " + str(bool_three)) print("bool_four: " + str(bool_four)) print("bool_five: " + str(bool_five))

7 Por outra perspectiva... Comparações resultam em True (Verdadeiro) ou False (Falso), que são valores booleanos, como aprendemos antes neste exercício. Vamos dificultar: vamos dar a você o booleano, e você escreverá a expressão, como no exemplo acima.

8 Por outra perspectiva... Escreva uma expressão que avalie cada valor booleano no editor. Lembre-se, os comparadores são:  ==, !=, >, >=, <, e <=. Use pelo menos três comparadores diferentes! Não use simplesmente True e False! Isso é trapaça! Lembre-se, os comparadores são:  ==, !=, >, >=, <, e <=.

9 Ser e/ou não ser? Operadores booleanos comparam declarações e resultam em valores booleanos. Há três operadores booleanos: and (e), que verifica se as duas afirmações são True; or (ou), que verifica se pelo menos uma das afirmações é True; not (não), que gera o oposto da afirmação. Vamos estudar os operadores um por um.

10 And O operador booleano and (e) retorna True (verdadeiro) quando as expressões dos dois lados do and são verdadeiras. Por exemplo: 1 < 2 and 2 < 3 é True; 1 < 2 and 2 > 3 é False.

11 Prática - And Vamos praticar com and. Atribua a cada variável o valor booleano apropriado. Iguale bool_one ao resultado de False and False Iguale bool_two ao resultado de -(-(-(-2))) == -2 and 4 >= 16**0.5 Iguale bool_three ao resultado de 19 % 4 != 300 / 10 / 10 and False Iguale bool_four ao resultado de -(1**2) < 2**0 and 10 % 10 <= 20 - 10 * 2 Iguale bool_five ao resultado de True and True bool_one = False and False #false bool_two = -(-(-(-2))) == -2 and 4 >= 16** #false bool_three = 19 % 4 != 300/10/10 and False #false bool_four = -(1**2) < 2**0 and 10 % 10 <= 20-10* #true bool_five = True and True #true print("bool_one: " + str(bool_one)) print("bool_two: " + str(bool_two)) print("bool_three: " + str(bool_three)) print("bool_four: " + str(bool_four)) print("bool_five: " + str(bool_five))

12 Or O operador booleano or (ou) retorna True (verdadeiro) quando pelo menos uma das expressões ligadas por or for verdadeira. Por exemplo: 1 < 2 or 2 > 3 é True; 1 > 2 or 2 > 3 é False.

13 Prática - Or Hora de praticar com or!
Iguale bool_one ao resultado de 2**3 == 108 % 100 ou 'Cleese' == 'King Arthur' Iguale bool_two ao resultado de True ou False Iguale bool_three ao resultado de 100**0.5 >= 50 ou False Iguale bool_four ao resultado deTrue ou True Iguale bool_five ao resultado de 1**100 == 100**1 ou 3 * 2 * 1 != 3 + 2+ 1 bool_one = 2**3 == 108%100 or 'Cleese'=='King Arthur' #true bool_two = True or False #true bool_three = 100**0.5 >= 50 or False #false bool_four = True or True #true bool_five = 1**100 == 100**1 or 3*2*1 != #false print("bool_one: " + str(bool_one)) print("bool_two: " + str(bool_two)) print("bool_three: " + str(bool_three)) print("bool_four: " + str(bool_four)) print("bool_five: " + str(bool_five))

14 Not O operador booleano not retorna True para declarações falsas e Falsedeclarações verdadeiras. Por exemplo: not False resultará em True, not 41 > 40 retornará False.

15 Prática - Not Vamos praticar um pouco com not.
Iguale bool_one ao resultado de not True Iguale bool_two ao resultado de not 3**4 < 4**3 Iguale bool_three ao resultado de not 10 % 3 <= 10 % 2 Iguale bool_four ao resultado de not 3**2 + 4**2 != 5**2 Iguale bool_five ao resultado de not not False bool_one = not True #false bool_two = not 3**4 < 4** #true bool_three = not 10 % 3 <= 10 % #true bool_four = not 3**2 + 4**2 != 5** #true bool_five = not not False #false print("bool_one: " + str(bool_one)) print("bool_two: " + str(bool_two)) print("bool_three: " + str(bool_three)) print("bool_four: " + str(bool_four)) print("bool_five: " + str(bool_five))

16 Isso e Aquilo (ou Isso, Mas Não Aquilo!)
Operadores booleanos não são simplesmente avaliados da esquerda para a direita. Assim como os operadores aritméticos, há uma ordem na execução dos operadores booleanos: not é o primeiro a ser avaliado; and é o segundo a ser avaliado; or é o último a ser avaliado. Por exemplo, True or not False and False retorna: True.

17 Isso e Aquilo (ou Isso, Mas Não Aquilo!)
Parênteses () garantem que suas expressões sejam avaliadas na ordem que você quer. Qualquer coisa entre parênteses é avaliada como uma unidade separada.

18 Outra Prática Atribua True ou False, conforme apropriado, a bool_one até bool_five. Iguale bool_one ao resultado de False or not True and True Iguale bool_two ao resultado de False and not True or True Iguale bool_three ao resultado de True and not (False or False) Iguale bool_four ao resultado de not not True or False and not True Iguale bool_five ao resultado de False or not (True and True) bool_one = False or not True and True #false bool_two = False and not True or True #true bool_three = True and not (False or False) #true bool_four = not not True or False and not True #true bool_five = False or not (True and True) #false print("bool_one: " + str(bool_one)) print("bool_two: " + str(bool_two)) print("bool_three: " + str(bool_three)) print("bool_four: " + str(bool_four)) print("bool_five: " + str(bool_five))

19 Misturando e Combinando
Bom trabalho! Estamos quase acabando com os operadores booleanos.

20 Prática - Misturando e Combinando
Desta vez daremos o resultado esperado, e você usará alguma combinação de operadores booleanos para tingir esse resultado. Lembre-se os operadores booleanos são and, or, e not. Use cada um pelo menos uma vez! # Use expressoes booleanas nas linhas abaixo conforme apropriado! # Torne-me falso! bool_one = (2 <= 2) and "Alpha" == "Bravo" # Fizemos esta para voce! # Torne-me verdadeiro! bool_two = 2 == 2 or 3<1 bool_three = 2>4 and 3<1 bool_four = True or False bool_five = ("Jonas" == "Jonas") or ("ana" == "jose")

21 Sintaxe das Declarações Condicionais
if é uma declaraçao condicional que executa um código especificado depois de verificar se sua expressão é True (verdadeira). if 8 < 9: print("oito é menor que nove!") Neste exemplo, 8 < 9 e é a expressão verificada e print "Eight is less than nine!" ("Oito é menor do que nove") é o código especificado.

22 Sintaxe das Declarações Condicionais
Vamos praticar um pouco o uso das declarações if. Lembre-se, a sintaxe é assim: No exemplo acima, caso some_function() retorne True, então o bloco recuado de código depois dela será executado. Caso ela retorne False, o bloco recuado será pulado. Neste exemplo, 8 < 9 e é a expressão verificada e print "Eight is less than nine!" ("Oito é menor do que nove") é o código especificado.

23 Prática – if – se A sua direita você pode ver duas funções. Não se preocupe se algo não for familiar. Vamos explicar tudo em breve. Substitua o underline na linha 2 por uma expressão que retorne True. Substitua o underline na linha 6 por uma expressão que retorne True. Se você fizer isso corretamente, "Successo #1" e "Successo #2“ serão exibidos. def using_control_once(): if ____: return "Successo #1" def using_control_again(): return "Successo #2" print(using_control_once()) print(using_control_again()) def using_control_once(): if True: return "Successo #1" def using_control_again(): return "Successo #2" print(using_control_once()) print(using_control_again())

24 E o else? – senão A declaração else complementa a declaração if. Um par if/else diz: "Se esta expressão for verdadeira, execute o bloco de código recuado; caso contrário, execute o código depois da declaração else." Ao contrário de if, else não depende de uma expressão. Por exemplo: if 8 > 9: print("I didn't print!") else: print("I got printed!")

25 elif – “senão se” "Elif" é uma abreviação para "else if." Isso significa exatamente o que parece: "caso contrário, se a expressão a seguir for verdadeira, faça isto!“ No exemplo acima, a declaração elif é verificada apenas se a declaração if original for False. if 8 > 9: print("entrei no if") elif 8<9: print("entrei no elif") else: print("entrei no else")

26 Prática - elif Na linha 2, preencha a declaração if para verificar se (if) answer é maior que 5. Na linha 4, preencha elif de modo que a função resulte em -1 se answer for menor que 5. def greater_less_equal_5(answer): if ________: return 1 elif ________: return -1 else: return 0 print(greater_less_equal_5(4)) print(greater_less_equal_5(5)) print(greater_less_equal_5(6))

27 Revisando

28 Prática final Escreva uma declaração if em the_flying_circus(). Ela deve incluir: Declarações if, elif, e else; Pelo menos um and, or, ou not; Um comparador (==, !=, <, <=, >, or >=); Finalmente, the_flying_circus()deve retornar True quando avaliado. Não se esqueça de incluir um : depois das suas declarações if! # Tenha certeza que the_flying_circus() retorna True def the_flying_circus(): if 5>2 and not(3<2): # Comece seu codigo aqui! return True elif False and True: return False else:

29 Refs Curso de Python do Codecademy


Carregar ppt "Introdução a Programação"

Apresentações semelhantes


Anúncios Google