Lição 3: if/else statements

Na última aula a gente aprendeu alguns ferramentos que nos deixa escrever codigos com mais facilidade: variaveis (para guardar, reutilizar e modificar valores) o ‘for loop’ (para repetir uma coisa varias vezes) e o ‘function’ (para organizar um serie de instruções num lugar). Agora a gente vai aprender outros e no fim dessa aula, vcs terão tudos os ferramentos que precisam para esse curso e a gente pode começar criar programas mais complexos.

if statement

  • Até agora, o computador sempre executava todas as instruções que a gente escreveu. Porem, para programas e aplicativos mais complexos, a gente não quer sempre executar tudos os codigos.
  • Em vez disso, a gente quer controlar o fluxo do programa e executar partes determinidos do programa, dependendo de uma condição. Por exemplo, num site como Facebook, se um usuario tem permissões para ver um post, o Facebook vai mostrar, mas, se ele não tem, não vai aparecer o post.
  • Para fazer isso, a gente escreve um ‘if’, depois uma condição, e em baixo, os codigos que a gente quer executar caso essa condição seja verdade:
x = 7

if x > 5:
    print("ola")
  • Nessa caso, o que vai acontecer? O computador guarda o valor ‘7’ na variavel ‘x’. E depois, ele vai checar: se o variavel ‘x’ (ou seja, 7) for maior do que 5. Como que 7 sim é maior do que 5, o computador vai executar os codigos dentro do ‘if statement’ e vai imprimir “ola”
  • Agora vamos modificar o exemplo:
x = 3

if x > 5:
    print ("ola")
  • Agora, o valor do ‘x’ não é maior do que 5, então o computador não vai imprimir nada
  • Nota que a gente usa o simbilo ‘>’ para significar “maior do que”. Além disso, existem outros simbilos:
    • ‘<‘ (menor do que)
    • ‘<=’ (menor do que ou igual a)
    • ‘>=’ (maior do que ou igual a)
    • ‘==’ (igual a)
    • ‘!=’ (não é igual a)
  • Esses simbilos de comparação funcionam com palavras tambem:
nome = "thiago"

if nome == "thiago":
    print("bom dia")

Esse programa vai imprimir “bom dia” por que o variavel ‘nome’ é igaul a “thiago”. Nota: no contexto das palavras (‘strings’) o simbilo ‘>’ significa ‘vem primeiro alfabeticamente’. Por exemplo:

nome = "pedro"

if nome > "thiago":
    print ("bom dia")

Nesse caso, o computador não vai imprimir “bom dia” por que a palavra “thiago” vem depois do que “pedro” alfabeticamente, ou seja, “pedro” é maior do que “thiago”.

Combinar condições

  • É possivel combinar varias condições num ‘if statement’. Há duas conjunções: ‘and‘ (e) e ‘or‘ (ou).
x = 5
y = 9
if x > 4 and y > 12:

Nesse exemplo, o computador não vai imprimir nada, por que mesmo que o ‘x’ seja maior do que 4, o ‘y’ não é maior do que 12. Como que a gente tem a conjução ‘and’ entres as duas condições, as duas tem que ser verdade para executar os codigos em baixo.

nacionalidade = "brasileiro"
idade = 35
if nacionalidade == "brasileiro" and idade >= 18:
    print ("pode votar")

Nesse exemplo, as duas condições são verdade, ou seja, ‘nacionalidade’ é igual a “brasileiro” e idade e maior do que (ou igaul a) 18, então o computador vai imprimir “pode votar”.

idade = 70

if idade < 18 or idade > 65:
    preco = 15
    print ("preco é", preco)

Aqui, a gente usa a conjução ‘or’. Então só uma das duas condições tem que ser verdade. Nesse caso a primeira condição (idade < 18) não é verdade, mais a segunda (idade > 65) é verdade, então os codigos dentro do if statement vai ser executados.

  • Lembra que os espaços são importantes! Qualquer codigos que voçê quer colocar ‘dentro’ do if statement tem que começar com um ‘tab’

else

  • Para ter ainda mais controle no fluxo do programa, a gente pode usar o ‘else statement’. ‘else’ significa ‘se não’ e o ‘else statement’ é usado conjunto com o ‘if statement’. Por exemplo
def ingresso (idade):
    if idade < 18 or idade > 65:
        print "preco meia"
    else:
        print "preco inteiro"

ingresso(45)

Aqui, caso a condição seja verdade, vai imprimir “preco meia”, mas caso não, vai imprimir preco inteiro”. Como que idade é 45 (eu passo o valor como um parâmetro no function) Não esqueça os dois pontinhos depois do ‘else’!

Vamos combinar o if statement e o for loop para escrever um function que pode detectar se um numero for primo ou não.

  • Para saber se um numero for primo, a gente tem que checar todos os numeros desde 2 até o numero, e ver se un deles divide o numero sem sobrar nada.
  • A gente usa o ‘for loop’ para anda por todos os numeros
  • A gente usa o ‘if statement’ para checar a condição de cada numero.
  • Assim que a gente ache um numero que divide o numero original sem sobrar nada, a gente pode terminar, pois não se precisa checar os outros. Aí nesse caso a gente imprime “numero não é primo” e ‘return’ para sair do function.
  • Caso a gente verifique que nenhum dos numeros divide o numero original (ou seja, o for loop termina) a gente pode dizer nesse momento que o numero original realmente é primo.
def isprime (num):
    for i in range (2, num):
        if num % i == 0:
            print ("numero não é primo")
            return
    print("numero é primo")

isprime(13)

Leave a Reply

Your email address will not be published. Required fields are marked *