Expressões e saída de dados

Teoria Completa

Bora falar de saída de dados??

Fala aí, meu chegado! Uma das coisas mais importantes é saber fazer o computador se comunicar com a gente. E como computadores são, fundamentalmente, calculadoras, então bora aprender a fazer contas também!

Vamo começar criando um arquivo no seu editor de código, tá?! Como cada faculdade usa um editor de texto diferente, eu vou usar um aqui do próprio Responde Aí! Todos os códigos funcionam igual, mesmo com diferentes editores, beleza?! Mas o ideal é você usar o mesmo que sua faculdade usa pra já ir se acostumando.

Faz o seguinte, depois de criar um arquivo, escreva a seguinte continha e execute o seu programa (cada editor de texto tem uma tecla diferente pra executar, mas geralmente é F5):

Depois de executar, o que aconteceu? Nada, né?! Exato! Você mandou fazer a conta, mas não mandou ele fazer absolutamente nada depois disso.

Seu computador fez a conta, mas não te mostrou o resultado simplesmente porque você não o mandou mostrar, entende? Pra gente mandar o computador exibir na tela alguma coisa, usamos o comando print(). Esse comando diz pro computador mostrar o resultado do que você colocar dentro dos parênteses do comando.

Depois de executar, você vai ver que agora ele mostrou alguma coisa, o número 10.

Viu como os computadores são obedientes?

Operações matemáticas

Mas você deve ter reparado que eu disse “resultado”. Isso significa que podemos colocar qualquer coisa dentro dos parênteses que, o computador vai tentar resolver e, se conseguir, vai mostrar o resultado pra gente. Vamos testar com outras contas? Se liga em como ficam os operadores matemáticos em Python na tabelinha:

Você pode tentar fazer outras contas pra se familiarizar com os operadores. Como, por exemplo, vamos tentar converter graus Celsius pra Fahrenheit. Você lembra da fórmula? Pois eu não, acabei de pesquisar no Google:

Agora sim, mas como vamos transformar essa fórmula em algo que a gente possa usar no nosso código?!

Bem, o primeiro passo é sempre transformar o problema em um passo a passo bem definido pra gente conseguir passar essas instruções pro computador (os computadores são burrinhos, lembra?!). Nesse momento tá fazendo 23ºC aqui no Rio de Janeiro, e eu quero saber essa temperatura em graus Fº. Então, vamos mandar o nosso computador fazer a seguinte sequência de passos: “exiba o resultado de (9 vezes 23 dividido por 5 mais 32)”. Em Python, ficaria assim:

Que, quando executado, resulta em 73.4º F.

Uma coisa interessante a se notar aqui é que a precedência dos operadores em Python é exatamente a mesma da matemática, ou seja, primeiro ele vai fazer as multiplicações e divisões, depois as somas e subtrações. Também é possível, assim como na matemática, alterar a precedência padrão utilizando parênteses. Se liga na diferença entre o comando anterior e esse:

Se você executar o programa assim, resultado parece bem loko, né? Isso porque o computador, dessa vez, calculou a soma antes de calcular a divisão. Agora, vamos tentar dificultar a parada. Se liga na seguinte função matemática:

Pra gente saber quanto é utilizando seria assim: “exiba o resultado de (2 vezes 3 elevado a 2 menos 4 vezes 3 mais 2)”. Em python, ficaria assim:

Que resulta em 8. E se agora a gente quisesse saber o valor de, teríamos que fazer a mesma coisa. A nova ordem poderia ser “exiba o resultado de (2 vezes 4 elevado a 2 menos 4 vezes 4 mais 2)”. Em Python:

Beleza, o resultado vai ser 18, e tudo certo.

Por enquanto é isso, galera! Te vejo no próximo tópico!

Expandir

Exercício Resolvido #1

Elaboração própria

Faça um programa que calcule e exiba a área de um quadrado de lado 10.7m.

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Cara, a primeira coisa que a gente tem que fazer pra resolver qualquer problema de programação é pensar em qual o passo a passo que nós faríamos pra resolver o problema.

E pra passar essas instruções pro computador, nós usamos python.

As instruções pra esse exercício são duas:

  1. Calcular a área do retângulo
  2. Exibir o resultado da área calculada.

Então, vamos começar!

Passo 2

Focando no primeiro problema, você provavelmente se lembra que a área de um quadrado é dada pelo comprimento do lado ao quadrado. O exercício nos dá o comprimento do lado, 10.7 metros. Porém, a unidade não importa na hora dos cálculos, só no resultado final. Com isso, podemos calcular a área com o seguinte comando:

Onde area_do_quadrado é uma variável que nós estamos criando e colocando dentro dela o resultado da conta 10.7 ao quadrado (o operador ** significa exponenciação, lembra?).

Passo 3

Agora, pensando na segunda instrução, precisamos dizer pro computador exibir o resultado da nossa conta do passo 1. O comando em python que exibe na tela é o print(), colocando dentro dos parênteses o valor que queremos exibir. Nesse caso, a área que está guardada dentro da variável area_do_quadrado. Então o comando fica:

Além disso, podemos complementar nossa resposta exibindo também a unidade de área. Como a unidade do lado do quadrado é em metros, a unidade de área do quadrado é m² (metro quadrado). Então, em vez do comando acima, podemos usar

Obs: o comando print() aceita que você passe vários valores separados por vírgulas, e então eles serão exibidos lado a lado.

Resposta

Exercício Resolvido #2

Elaboração própria

Faça um programa que calcule e exiba a raiz cúbica de 704969.

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Bom, como em todo exercício de programação, a gente começa estruturando o passo a passo necessário pra resolver o problema. Nesse caso, dois passos são necessários:

  1. Calcular a raíz cúbica de 704969.
  2. Exibir o resultado do cálculo do passo 1.

A primeira vista parece um pouco difícil, porque Python não tem nenhum operador pra raiz cúbica… Então, como a gente pode calcular esse troço?!

Você deve lembrar, lá da matemática, que √ 2 , por exemplo, também pode ser representado por 2 1 2 . Ou seja, se você elevar o número 704969 à 1/3, o resultado é o mesmo da raiz cúbica.

Agora o problema ficou mais fácil de resolver, né? Porque operador de exponenciação a gente tem no python! Vamos ao código:

Repara no que a gente tá fazendo, a gente criou uma variável chamada “raiz” e colocou dentro dela o resultado da expressão 704969**(1/3). Se liga nos parênteses. O uso deles nesse caso é necessário, porque o operador de exponenciação (**) tem uma precedência maior que o de divisão (/). Ou seja, se a gente não colocasse parênteses, o computador calcularia 704969 elevado a 1 e depois dividiria o resultado por 3, que não é a resposta que a gente quer.

Precisamos, primeiro, fazer a divisão 1/3 pra depois fazer a exponenciação. Com isso, o uso do parênteses, sacou? Se liga no segundo passooo.

Passo 2

O segundo passo é usar o comando print() pra exibir na tela o resultado da conta feita no passo 1. Vamos passar como parâmetro a variável “raiz”. Olha:

Com isso, é possível a gente calcular a raiz cúbica mesmo sem ter um operador específico pra isso, viu?? Valeuuu

Resposta

Exercício Resolvido #3

Elaboração própria

Ao executar o seguinte programa em Python, qual será o resultado?

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Fala aí, meu chegado! Bom, olhando pra esse exercício já dá pra saber que se a gente tentar executar vai dar ruim. Mas vamo lá, vamos copiar tudo no nosso editor de código pra gente ver no que vai dar. Eu já copiei, olha:

(Ok, eu assumo, é a mesma imagem)

Ao tentar executar esse programa, o resultado parece com isso:

Caramba!! Deu erro! Hahah não se preocupe, durante nossa jornada em programação, a gente vai ver MUITOS erros acontecerem. Mas não se preocupe com isso, em Python os erros são nossos amigos. Eles dizem o que a gente fez de errado, e onde.

Nesse caso o erro tá falando que na linha 1 a gente cometeu o erro ZeroDivisionError. Ou seja, a gente tentou fazer uma divisão por zero. Mas não dá pra dividir nada por zero!

É, meu amigo... Se você reparar bem, ali no código tem um (5-7+2), e o resultado dessa expressão matemática é zero. Se a gente tentar dividir QUALQUER coisa por 0, vai dar esse erro, pois a divisão por zero é um problema que a humanidade não sabe resolver. (talvez os dogs já saibam hahaha)

Então, esse exercício tá querendo te mostrar como o Python reage quando a gente faz alguma besteira, beleza. Não precisa ficar desesperado quando vir as letrinhas vermelhas, cara! Elas sempre dão uma dica de como resolver o problema. Então, leia pacientemente as mensagens de erro, beleza???

Até a próxima, manooo!

Resposta

Vai dar o erro ZeroDivisionError, pois não é possível dividir por zero.

Exercício Resolvido #4

Elaboração própria

Qual dos seguintes comandos em Python exibe o número 4 no terminal?

  1. Print(4)
  2. print 2+2
  3. print(7-3)
  4. Print[“4”]
MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Fala aí, meu padrinho!!! Vamo analisar as nossas alternativas, mas sem trapacear! Tenta resolver de cabeça, lembrando dos conceitos da aula, antes de copiar e colar no editor, beleza?! Malandrinho.

É importante que as regrinhas de como escrever os códigos fiquei bem guardadas na sua cabecinha, porque na hora da prova nem sempre dá pra testar, jae? Beleza! Vamos começar!

Na alternativa A tá tudo parecendo uma maravilha. Exceto pelo fato de que Print tá escrito com o P maiúsculo, cara!!! Tu não pode esquecer disso. Python é uma linguagem que tem uma característica chamada “case sensitive”. Você lembra o que é?! Bom, de qualquer forma eu vou te lembrar.

Isso significa que ela trata as letras maiúsculas e minúsculas como coisas diferentes, beleza?? Por isso, o comando print só funciona se estiver escrito tudo minúsculo. Quer testar?? Ok, vamos testar!

Digitei no meu editor de código, e agora vou executar.

Olha, que resultado doido! Mas calma, vamos analisar nosso erro pra ver o que deu. Ler o erro com paz no coração é essencial pra gente aprender a não errar mais, beleza?!

Essas letrinhas vermelhas estão dizendo pra gente onde a gente fez besteira, e o problema. Tá dizendo que ‘Print’ não está definido. Isso significa que nosso computador não tem a menor ideia do que ‘Print’ significa. Viu? Ele sabe o que é print, mas Print não. Cuidado com isso, cara!

Vamos pra segunda alternativa!

Passo 2

Na segunda alternativa o print tá escrito certinho. Ufa! Então essa seria uma ótima alternativa SE TIVESSE OS PARÊNTESES ALI!!

Foi mal, me exaltei. Mas essa era uma pegadinha. Nas versões mais antigas de Python, os parênteses não eram necessários. Porém, nas versões atuais, eles são obrigatórios em todas as funções. Vamos ver o que acontece se a gente tentar executar este comando no nosso editor de código?

Vamos executar essa parada pra ver o que acontece...

Mano, olha a malcriação que o Python faz pra gente!!

Isso acontece porque antes esse código funcionava, mas agora não funciona. Mas repara que ele até ensina a gente a corrigir. Legal, né??

A dica que essa alternativa nos dá é que, se por acaso tu for estudar pra tua prova utilizando outros meios, como youtube, apostilas que tu baixa na internet, etc, verifica antes se a versão é compatível com a versão que você usa na faculdade, beleza?? (Ou estuda pelo Responde Aí que eu cuido disso pra você, porque torço muito pelo seu sucesso

Partiu pra letra C!

Passo 3

Aqui na letra C o print tá escrito certinho, tudo minúsculo. Além disso, têm os parênteses ali, bonitinho. E o resultado de 7-3 realmente é 4. É! Parece estar tudo certinho... Vamos testar?

Copiei e colei a questão no meu editor de texto pra gente ver no que vai dar. Vamos executar!

Olha lá, olha só, maravilha!! Conseguimos!

Deu certo! Realmente, essa era a alternativa certa! Ufa, ainda bem que a gente acertou! Rsrs

Vamos dar uma olhadinha na próxima pra ver o que tem de errado??

Partiu letra D.

Passo 4

Hmmm. A gente já sabe que a alternativa certa é a C. Então já temos spoiler de que essa tá errada também!

Começando pelo Print, com P maiúsculo! Viu!! Sabia que tava errado hahaha já começou mal.

Beleza, essa alternativa com certeza não funcionaria. Mas vamos continuar analisando.

Reparou que tem colchetes [] em vez de parênteses ()? É, isso pode confundir um pouco, porque realmente a gente pode usar [] em Python, porém, não é a mesma coisa! Têm funções diferentes, beleza? Continua comigo aqui no Responde Aí que você vai aprender a usar os colchetes []. Até lá, vamos usar só parênteses, beleza??

Ok. A terceira coisa que a gente tem que notar é o uso das aspas. Cara, nesse caso, tá certo também. Se liga, quando a gente digita só números, a gente tá falando de números (dãaa). Mas, em Python, tudo que a gente põe entre parênteses é tratado como texto. É, sim, possível a gente criar um texto que tem o número 4. Mas a gente vai ver esse tema mais pra frente, ok?!

Ok, nosso exercício já acabou, já sabemos a resposta. Valeuuu!

Resposta

Alternativa C.

Exercício Resolvido #5

Elaboração própria

Determine, sem executar, qual o resultado do código abaixo:

MOSTRAR SOLUÇÃO COMPLETA

Passo 1

Fala aí, meu compatriota!!! Esse exercício é malandrinho, e tem algumas coisas que a gente precisa pensar sobre o funcionamento de Python pra resolver.

Mas, cara, antes de tudo, talvez você não saiba o conceito de comentários em Python. Por isso, é a primeira coisa que eu vou te contar.

Cara, quando a gente escreve o caractere “#” (hashtag), tudo que vier depois vai ser desconsiderado pelo Python, isso significa que a gente pode fazer anotações no código! Olha um exemplo da utilidade dos comentários:

Quando você executar esse programa, seu computador vai cagar e andar pras linhas que começam com #, assim como no enunciado. A partir do #, tudo fica vermelhinho, tá vendo? Significa que o Python NÃO VAI LER. Comentários só são úteis pra gente mesmo.

Beleza! Agora vamo continuar o exercício falando da matemática na primeira linha do código do enunciado.

Cara, esse é tranquilo. A precedência aqui é igual ao da matemática que a gente costuma usar, então a gente primeiro faz o 3*2, que vai dar 6. Depois a gente soma mais 2, que vai dar 8.

Beleza! Essa foi mais tranquila. Vamos pra segunda!

Passo 2

Se liga nessa aqui! É a mesma equação de antes, mas com parênteses no 2+2.

É bom pra lembrar que, assim como na matemática, os parênteses têm a mais alta precedência dentre os operadores matemáticos. Isso significa que os parênteses sempre vão ser resolvidos antes dos outros operadores matemáticos, e são usados pra forçar precedência nas expressões.