Programação básica: Python para iniciantes | Alvin Wan | Skillshare

Velocidade de reprodução


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Programação básica: Python para iniciantes

teacher avatar Alvin Wan, Research Scientist

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Apresentação

      1:57

    • 2.

      Projeto: crie uma ferramenta Nifty

      3:30

    • 3.

      Variáveis, tipos de dados, expressões

      9:20

    • 4.

      (Bônus) exercícios guiados para variáveis, etc.

      9:25

    • 5.

      Coleções

      8:56

    • 6.

      (Bônus) exercícios guiados para coleções

      9:48

    • 7.

      Usando funções: reformatador de lista de e-mail

      9:46

    • 8.

      (Bônus) exercícios guiados para usar funções

      10:32

    • 9.

      Definindo funções: relatório de temperatura

      7:58

    • 10.

      (Bônus) exercícios guiados para definir funções

      9:15

    • 11.

      If, while: assistente umbrella

      9:57

    • 12.

      (Bônus) exercícios guiados para if, while

      11:24

    • 13.

      For loop: verificador de força de senha

      6:31

    • 14.

      (Bônus) exercícios guiados para For Loop

      7:07

    • 15.

      Usando objetos: contagem regressiva para aniversário

      4:57

    • 16.

      Projeto de amostra: mensagens secretas

      4:02

    • 17.

      Conclusão

      1:44

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

30.153

Estudantes

104

Projetos

Sobre este curso

O que você vai aprender

Você vai aprender os fundamentos do código usando o Python. No entanto, ao contrário da maioria dos cursos de codificação, este curso não oferece uma lista exaustiva de minutiae; em vez disso, você aprende apenas o suficiente para começar a usar o código. O objetivo é você terminar o curso com (a) um conjunto de ferramentas mais simples, (b) a capacidade de escrever ferramentas mais avançadas e (c) o reconhecimento do valor do código na automação de funções do dia-a-dia. Você vai abranger os seguintes conceitos em todo o curso:

  • Tipos de dados, expressões, variáveis
  • Funções
  • Objetos
  • Lógica de controle

O que você vai construir

Ao longo do caminho, você vai criar um conjunto de ferramentas para demonstrar esses conceitos:

  • Reformatter de lista de e-mail
  • Relatório de temperatura
  • Umbrella Recommender
  • Verificador de força de senha
  • Dias até ao seu aniversário
  • Mensagens secretas

O curso é projetado para qualquer pessoa com pouco ou nenhum conhecimento de codificação. Nenhum conhecimento de pré-requisito é necessário. Tudo o que você precisa é de um laptop, internet e uma hora de tempo.

Recursos exclusivos

O curso inclui links para recursos exclusivos, incluindo o seguinte:

  • Todas as 6 ferramentas completas
  • Mais de 70 problemas de prática com a solução de passo a passo (uma hora de conteúdo de bônus!)
  • Extra 27 problemas de prática com soluções de trabalho completas
  • Slides para download, com acesso a todas as versões atualizadas no futuro
  • Links para uma leitura adicional

Quer aprender mais?

Interessado em codificação criativa? Confira meu curso de VR 101 (AFrame Nature Scenes).

Interessado em ciência de dados ou aprendizado de máquina? Confira minhas aulas de SQL 101 (Design de banco de dados), Data 101 (Analytics) ou Computer Vision 101 (ML) (Applied ML).

Siga-me no Skillshare para ser o primeiro a ouvir mais cursos nestas áreas!

Agradecimentos: este curso segue o livro de ciência da computação da UC Berkeley: composingPrograms.com. B-roll usado em vídeo introdutório CC-0 licenciado pela Pexels.

Conheça seu professor

Teacher Profile Image

Alvin Wan

Research Scientist

Top Teacher

Hi, I'm Alvin

Looking to learn coding? machine learning? Let me help! I was formerly a computer science lecturer at UC Berkeley, where I served on various course staffs for 5 years. I'm now a research scientist in industry, working on cutting edge computer vision. I've designed a few courses to get you started -- not just to teach the basics, but also to get you excited to learn more. Check out the courses on my profile! Or scroll down for a guide to getting started.

Website | Github | YouTube | Twitter | Research

 

Featured Reviews

"Alvin Wan is a fantastic teacher. The instruction format was just what I was lo... Visualizar o perfil completo

Level: Beginner

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui cursos curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Introdução: Tive dificuldade em começar com a programação. Os cursos levaram sete, oito, 12 horas e começaram com listas de lavanderia de utilitários Python. Mas eu queria construir um site incrível, um jogo impressionante. Se você sente o mesmo, eu construí este curso só para você. Ei, eu sou Mao. Eu sou um cientista de dados em uma pequena startup e um estudante de doutorado em ciência da computação na UC Berkeley. Ensinei centenas de alunos a codificar através do Airbnb. Estou animado para trazer todas essas experiências presenciais de ensino on-line para você agora mesmo. Python é a minha linguagem preferida para engenharia de software, ciência de dados, pesquisa de inteligência artificial de ponta. Em apenas 60 minutos, você vai cobrir conceitos básicos de codificação, habilidades concretas, não apenas superpoderes teóricos depois de um dia inteiro de aulas. Também incluí mais de uma hora de conteúdo bônus adicional, mais exercícios, orientações e dicas. Você não precisará instalar nada no computador. Em vez disso, usaremos uma ferramenta online gratuita chamada repl.it. Quero levá-los para o caminho mais direto para construir ferramentas bacanas que você pode se beneficiar hoje. Depois de terminar esta aula, você terá o poder de começar a automatizar partes do seu dia-a-dia com Python. Há dois gols para esta classe. Primeiro, quero que você se empolgue com o código. Dois, quero dar-te o que precisas para começares a crescer e a aprender. Nós não vamos trabalhar através de uma lista exaustiva de utilitários Python Googleable. Em vez disso, trabalharemos no que você não pode pesquisar no Google. Esta aula é para qualquer iniciante tomar. Você poderia ser um pintor, um arquiteto, um designer, uma pessoa completamente não-técnica. Estou animado para compartilhar com vocês o poder do código, a emoção e emoção. Não é um enigma distante difícil de alcançar. Tudo que você precisa é de um computador, internet, e uma hora de tempo. Vamos tentar codificar. 2. Projeto: crie uma ferramenta Nifty: Seu projeto é escrever uma ferramenta Nifty para você. Escolha uma tarefa super simples. Nesta classe, abordaremos exemplos relacionados à manipulação de texto, cálculo de datas e uso de informações meteorológicas. Sugiro começar a partir de uma dessas categorias. Sua ferramenta Nifty deve automatizar uma função que você executa com frequência. Não se preocupe se você pode finagle Excel para fazer a mesma coisa ou se você sabe que sites a, b e c juntos podem fazer algo semelhante. Se você pode reduzir a quantidade de tempo que leva para concluir uma tarefa de 60 segundos para cinco, então essa é uma idéia vencedora do projeto. Construir uma ferramenta ou, em particular, construir qualquer coisa com código é uma ótima maneira de ver o quanto você tem [inaudível]. Foi assim que comecei a codificar. Na introdução, mencionei dois objetivos para esta classe. O objetivo número um é despertar seu interesse em codificar. Não há problema em não usar código mestre em uma hora. O objetivo é mostrar o quanto você pode fazer com o código apenas gastando uma hora. Agora imagine o que você poderia fazer com mais uma hora com as aulas de Ciência de Dados 101, SQL 101 ou Visão Computacional 101. Se eu puder te interessar por código, você será imparável. O objetivo número dois é dar apenas o suficiente para que você possa começar a aprender e crescer. Há duas coisas que você vai precisar para eu conseguir isso. O primeiro takeaway importante é saber o que procurar para construir o que você quer. Quando comecei a codificar, pesquisei “como fazer x em Python” o tempo todo. Está completamente bem. Você tem que saber o que é x, o que procurar no Google. Meu objetivo é dar a vocês esse sentido, essa intuição nas próximas lições. O segundo passo mais importante é poder ler o que encontrar. Mesmo uma vaga compreensão está tudo bem. Contanto que você continue voltando e construindo ferramentas bacanas para si mesmo, ao longo do tempo você começa a desenvolver habilidades de familiaridade e codificação. Nesta classe, vamos cobrir os ossos da codificação: termos básicos, usos e conceitos. Você estará codificando cada passo do caminho enquanto construímos ferramentas Nifty para você usar. Cada lição introduzindo novos conceitos terá um conceito no título, como variáveis. Estas são lições imperdíveis para construir fundamentos de codificação. Eles também incluem demonstrações de codificação para você experimentar. Estas lições são seguidas por conteúdo bônus, que inclui uma série de exercícios guiados diferentes para você praticar. O conteúdo de bônus nesta classe abrange um total de mais de 70 exercícios curtos. Sugiro aprender em camadas. Comece tomando todas as lições de conceito e pulando toda a prática. Então, uma vez que você terminar a aula uma vez, eu sugiro fazê-lo novamente, mas desta vez incluindo a prática para que você possa camada de conhecimento como você está pronto para levá-lo. Aqui estão algumas dicas que eu tenho. Dica número um: para errar do lado da cautela, sempre copie o código exato que eu tenho. Todo o código preenchido estará disponível neste URL. Dica número dois: pausar o vídeo quando necessário. Explicarei cada linha de código que escrevo. Mas se você precisar de tempo para digitar e tentar código para si mesmo, não hesite em pausar o vídeo. Dica número três: você aprende melhor fazendo. Sugiro que você se prepare para sucesso colocando suas janelas de Skillshare e codificação lado a lado, lado mostrado aqui. Uma nota final, esta é uma aula ao vivo. Claro, eu já gravei. Mas à medida que você envia comentários, deixa avaliações e discute, estou assistindo, ajustando as aulas e adicionando ou removendo conteúdo com base em confusão comum. Por favor, faça-me perguntas na guia de discussão. Deixe-me um comentário. Esta aula foi feita para você. Espero que esteja pronto para codificar. Espero que esteja animada. Eu sei que estou. Vamos começar a automatizar partes do seu dia-a-dia. 3. Variáveis, tipos de dados, expressões: Nesta lição, você escreverá suas primeiras linhas de código. Você vai tocar e usar alguns conceitos diferentes. No entanto, em vez de defini-los antecipadamente, definiremos esses termos à medida que os usamos. Aqui está o que aprenderemos. Não se preocupe. Estes termos devem parecer estranhos para você. Isto é apenas para dizer que vamos aprender muito. Em um nível alto, discutiremos como manter os dados nessas próximas duas lições. Comece navegando para responder.it. Em particular, responder.it/languages/python3. Sugiro pausar o vídeo aqui e criar uma conta se você ainda não fez isso, enquanto você pode codificar sem uma conta, sugiro criar uma conta para salvar seu código. Depois de criar uma conta, certifique-se de navegar de volta para esta nova página repl.it/languages/python3. Você deve então ver uma tela como esta. Nesta lição, eu recomendo seguir. Basta copiar o código que eu tenho para que você possa ver em primeira mão o que seu código faz. Primeiro, no lado direito, esta cenoura laranja denota um intérprete que está esperando por nossa entrada. Este intérprete lerá sua entrada, avaliará esse código e retornará o valor resultante. Vamos tentar isso agora. Agora, vamos começar a codificar no lado direito da tela no interpretador Python. Vá em frente e digite em cinco. Este é um número, clique em “Enter”, Python avaliá-lo e, em seguida, retornar cinco. Vamos agora digitar um decimal, 5.2. Pressione “Enter”, Python avaliá-lo e, em seguida, retornar o 5.2. Agora vamos tentar uma expressão. Aqui vamos digitar 5 mais 2. O espaço entre o mais e os números é opcional. Isto é apenas uma convenção para manter o código. Como antes, Python irá avaliar isso e retornar o resultado. Estou sendo deliberado sobre o uso da palavra “retorno”. Nós inserimos 5 mais 2, e Python retorna o valor resultante 7. Veremos mais tarde por que retornar é um conceito tão importante. Também podemos tentar outras expressões, como 5 menos 2 e 4 divididos por 2. Agora, como definimos uma variável? Podemos definir uma variável atribuindo um valor como cinco para o nome da variável x. agora, podemos personalizar esses nomes de variáveis? A resposta é sim. Você pode usar um, você pode usar z, você pode usar nyancat. Você pode usar o que quiser com algumas restrições diferentes. O nome da variável só pode conter letras e sublinhados. Sem pontos, sem espaços, sem traços; apenas letras e sublinhados. A próxima pergunta é, podemos personalizar o valor? A resposta é outra vez, sim. Você pode adicionar dois, você pode adicionar uma expressão como 3 mais 2. Em alguns, podemos alterar o nome da variável e podemos alterar o valor. No entanto, o símbolo em preto, o sinal de igual, é sempre o mesmo. Qualquer coisa colorida em preto nessas visualizações é corrigida, como o sinal de igual aqui. Agora vamos tentar isso em código. Ainda em nosso intérprete no lado direito, vá em frente e comece definindo uma variável x e atribuindo-lhe o valor cinco. Vá em frente e aperte “Enter”. Observe que nenhum valor é retornado. Não há valor de retorno quando você atribui uma variável. Você pode usar qualquer nome de variável que quiser. Lembre-se, nomes de variáveis só podem incluir letras e sublinhados. Vamos em frente e agora examinar o que o conteúdo da variável x contém. Digite x e pressione “Enter”. Assim como antes, este x é uma expressão. Nós inserimos x, Python reconhece isso como um nome de variável, e retorna o valor que x contém, que é cinco. Agora aqui vai uma dica bônus. Se você receber um erro de nome, isso significa que você tem um erro de digitação no nome da variável. Por exemplo, ainda não definimos a variável u. então, se eu digitar u e pressionar “Enter”, o intérprete avalia u, não consegue encontrar a variável e gera um erro. Novamente, estou usando a palavra “levanta” e “erro” deliberadamente. Até agora, aprendemos que o intérprete pode retornar um valor ou gerar um erro. Também mencionamos a atribuição de uma variável a uma expressão. Aqui podemos definir x é igual a 3 mais 2. Agora, x é realmente atribuído ao valor cinco. Vá em frente e digite x, pressione “Enter”, e podemos ver que a variável x contém o valor cinco. Agora, como eu uso variáveis? Lembre-se de antes, escrevemos 5 mais 2. Sabemos que Python retornará sete. Desta vez, uma vez que x é igual a cinco, podemos substituir cinco por x. assim como antes, esta expressão retornará sete. Vamos tentar. Verifique se x é igual ao valor cinco. Digite x e pressione “Enter”. Agora, vá em frente e digite x mais 2. Isso retorna sete como você espera. Agora aqui está um desafio extra. Vou agora digitar x igual a x mais 2. O que acha que essa linha de código faz? Aqui temos x é igual a x mais 2. Temos o nome da variável e a expressão. Agora a variável x neste ponto é igual a cinco. Podemos ligar cinco para x, e agora sabemos que o lado direito avalia para sete. Esperamos x igual a sete. Aqui, vamos em frente e aperte “Enter”. Novamente, não há nenhum valor de retorno, digite x, e podemos ver agora que x é igual a sete. Apertei “Limpar” para que o código não fique agrupado na parte inferior da tela. No entanto, você não precisa pressionar “Limpar” você mesmo. Agora, vamos falar sobre dois outros tipos de dados. O próximo é o texto. Chamamos cordas de texto. Aqui está uma string de exemplo: “Olá”. Observe que a string é denotada por duas aspas duplas. Certifique-se de usar aspas iniciais e finais. Entre essas aspas, você pode adicionar os caracteres que quiser além de aspas. Vamos tentar mais um pouco de texto. Aqui está outro exemplo: “Eu amo melancia”. Dica, certifique-se sempre de adicionar uma cotação de fechamento. Aqui está o que parece se você esquecer. Este erro de EOL ou fim de linha significa que esquecemos uma cotação. Você também pode usar aspas simples para texto. Por exemplo, aqui está uma aspas simples e o texto que digitamos anteriormente. Para os propósitos desta classe, não há diferença entre uma aspas simples e uma aspas duplas. Agora, o que você acha que isso faz? O que é que este plus faz? Como você deve ter adivinhado, ele simplesmente combina uma corda juntos. Vá em frente e pressione “Enter”, e você pode ver que as duas cordas estão agora combinadas. Observe que há um espaço após as aspas duplas na segunda string e antes do W no Mundo. Isto é para garantir que temos um espaço entre as duas palavras, Hello World, em nossa string final. Nosso último tipo de dados é verdadeiro ou falso. Estes são chamados Booleans. Só para mostrar como se escreve, isto é booleano. Vamos tentar agora. Vá em frente e digite True com um T maiúsculo, e isso é simplesmente avalia como verdadeiro. Vá em frente e agora digite False com um F maiúsculo, e isso também avalia como falso. Agora não é muito interessante, então vamos ver quais outras expressões podem retornar booleanos. Como antes, Python pode ler a entrada, avaliar a expressão, e desta vez retornar um booleano. Vamos tentar uma dessas expressões. Podemos digitar cinco maiores que dois, e isso retorna verdadeiro. Também podemos usar variáveis em nossas expressões. Lembre-se que x tem o valor sete de antes. Agora, vamos digitar x maior que 10. Aqui, Python irá ler x maior que sete, avaliá-lo, e retornar false. Também podemos verificar a igualdade. Para verificar a igualdade, use dois sinais de igual. Aqui vamos digitar x igual a sete. Lembre-se que um sinal de igual atribuiria x ao valor sete. Dois sinais de igual verifica se x é igual a sete. Vá em frente e aperte “Enter”, e isso nos dá verdade como esperado. E agora se você quiser condições mais complexas? Queremos ver se x é igual a sete e se x é maior que sete. Basta usar a palavra “e”. Aqui podemos digitar x é igual a sete e x é maior que 10. Sabemos de antes que x não é maior que 10. Como resultado, isso retornará false. Também podemos usar “ou”. Vamos em frente e tentar isso, x é igual a sete ou x é maior que 10. Sabemos que x é igual a sete, então isso retornará verdadeiro. É isso. Isso foi um monte de conceitos e não há problema em se sentir sobrecarregado neste momento. Você não precisa memorizar tudo. Nós vamos usar repetidamente esses conceitos e codificando repetidamente nas próximas lições, você vai lentamente ter uma intuição para o que está acontecendo. Você aprendeu muito nesta lição. Este é um resumo rápido dos conceitos que você abordou: tipos de dados, operações, expressões e variáveis. Bom trabalho. Essa é a sua primeira peça de código. Nós olhamos para armazenar um pedaço de texto, um número, um booleano. E se tivermos muitos textos, muitos números? Na próxima lição, analisaremos coleções de dados. 4. (Bônus) exercícios guiados para variáveis, etc.: Bem-vindo ao conteúdo bônus para a lição 3, exercícios guiados. Neste vídeo, vamos percorrer exercícios que abordam conceitos da última lição. Há três passos. Número 1, apresentarei um exercício. Número 2, você deve pausar o vídeo e tentar o exercício por conta própria. Número 3, depois de fazer uma tentativa, reproduza o vídeo, e eu o orientarei através da solução. O objetivo é torná-lo confortável em usar esses conceitos de codificação e ouvir a terminologia. Alguns exercícios começarão com a prática, o que significa que estamos cobrindo um conceito que os exercícios anteriores ainda não cobriram. Todos os conceitos virão do vídeo anterior. Os próximos exercícios após a prática serão então prefixados com quiz. Isto significa que o exercício anterior já abrangia os mesmos conceitos. Você deve tentar estes exercícios de teste como um teste de seu conhecimento. Vamos entrar. Assim como antes, comece navegando para repl.it/languages/python3. Vamos começar com a pergunta número 1, esta é uma questão de prática. Saída 9 no intérprete usando apenas o número 3 e quaisquer operações matemáticas desejadas. Dê-lhe um minuto para tentar. Aqui está a solução ou aqui está uma solução, eu vou digitar 3 vezes 3. Pergunta número 2, esta é agora uma pergunta de teste. Saída número 5 no intérprete usando apenas o número 3 e quaisquer operações matemáticas desejadas. Dê uma chance. Agora, aqui está uma solução possível, eu vou digitar 3 mais 3 menos 3 dividido por 3. Isso nos dará um, isso nos dará seis e temos 6 menos 1 é igual a 5. Pergunta número 3, agora temos uma pergunta prática. Defina uma variável chamada x com o valor oito. Dê uma chance. Aqui temos a solução x é igual a oito. Pergunta número 4, defina uma variável chamada y com o valor de três. Dê uma chance. A solução aqui é y é igual a três. Mais uma vez, estes espaços são opcionais e estes são apenas a convenção que tenho seguido. Pergunta número 5. Praticar: Defina uma variável chamada z com o valor cinco usando as variáveis x e y em vez do número 5. Lembre-se aqui x é oito, y é três. Dê uma chance. Aqui está a solução e nós vamos agora digitar em z é igual a x menos y. vamos verificar novamente se z tem o valor cinco, e de fato ele faz. Pergunta número 6, esta é agora uma pergunta de teste. Defina uma variável chamada a com o valor 11 usando as variáveis x e y em vez do número 11. Novamente, x é oito, y é três, dê uma chance. Agora temos a solução a é igual a x mais y, verifique novamente se um tem o valor 11. Pergunta número 7. Praticar: Defina um som variável contendo o cluck de string. Dê uma chance. Agora temos som é igual a “cluck”. Aqui estou usando aspas duplas, você também pode usar aspas simples para sua string. Nesta questão em particular, realmente não importa qual deles você usa. Vamos em frente e passar para a pergunta número 8. Esta é agora uma pergunta de teste, defina o som variável que contém a string moo. Eu vou digitar o som é igual a “moo”, e pressione “Enter”. Vai passar para a próxima pergunta, pergunta número 9. Esta é agora uma pergunta prática, defina uma variável contendo a string exata indicada aqui em vermelho. Lembre-se, você pode usar aspas duplas ou aspas simples para denotar uma string, e neste caso a string contém aspas duplas. Dê uma chance. Aqui está a solução, porque esta string contém aspas duplas, você terá que denotar a string usando aspas simples. Vamos em frente e definir a string usando aspas simples. Novamente, isso não diz quais devem ser os nomes das variáveis, então eu vou chamar a citação do nome da variável é igual a, 'e ela disse, “Yum!" ' adicione uma única citação no final. Vá em frente e aperte “Enter”, e lá está a nossa sequência de aspas. Agora, aqui eu vou clicar em “Limpar” no canto superior direito, você não precisa fazer o mesmo, mas se você fizer, certifique-se de clicar de volta na janela e clicar em “Enter” para que você veja a cor laranja para mais uma vez. Pergunta número 10, esta é agora uma pergunta de teste. Defina uma variável contendo o texto exato indicado aqui em vermelho. Dê uma chance. Aqui está a solução, eu vou digitar agora, uma aspas variáveis é igual a, e como esta string contém aspas duplas, usarei aspas simples para denotar minha string, 'e eu disse, “Ew!" '. Perfeito, aperte “Enter” e lá está a nossa corda. Pergunta número 11. Vamos em frente e definir uma variável contendo o texto exato indicado aqui em vermelho. Aqui está uma bola curva, porém, a string contém uma única aspas agora. Dê um tiro. Aqui está a solução, porque a string contém uma aspas simples, nós realmente precisamos denotar a string usando aspas duplas agora, o inverso do que fizemos antes, digite aspas é igual a, “Euh, e então 'merrpppp' “, e há a nossa variável. Pergunta número 12, aqui está outra pergunta de treino. Defina uma variável b que seja verdadeira se x for oito. Dê um tiro. Aqui está a solução, b é igual a x é igual, igual a oito. Lembre-se que para verificar a igualdade, usamos dois sinais de igual. Vá em frente e digite ou pressione “Enter”. Para verificar se isso funcionou, vamos verificar se b tem o valor verdadeiro porque x é oito e é realmente verdadeiro. Pergunta número 13, defina uma variável c, que é verdade se x for maior que cinco. Dê um tiro. Agora aqui está uma solução, c é igual a x é maior que cinco, pressione “Enter”. Porque x é oito, x é realmente maior que cinco, verifique novamente se c é realmente igual a true, e de fato é. Pergunta número 14. Praticar: Defina uma variável d que seja verdadeira se o som da variável for “moo”. Dê um tiro. Aqui está a solução, d é igual a som é igual, igual a “moo”, e pressione “Enter”. Vamos verificar novamente se d tem o valor verdadeiro porque o som é realmente igual a moo, lá vamos nós. Pergunta número 15, aqui está agora uma pergunta de teste. Defina uma variável e que seja verdadeira se o som da variável for “yuck”. Dê um tiro. Agora temos e é igual ao som, é igual, igual a “yuck”. Porque sabemos que o som é igual a “moo”, e deve ser falso. Digite e e pressione “Enter”, e isso agora é falso. Pergunta número 16, esta é agora uma pergunta prática, defina uma variável f que é verdade se x é oito e se o som é “yuck”. Dê um tiro. Aqui está a solução, temos f é igual a x é oito e som é “yuck”. Aperte “Enter”. Porque sabemos que x é oito, esta primeira parte da afirmação é verdadeira. No entanto, o som é “moo”, então a segunda parte da afirmação não é verdadeira, portanto, toda essa afirmação deve ser falsa. Vá em frente e digite f, e é de fato falso. Pergunta número 17, esta é agora uma pergunta de teste. Defina uma variável g que é verdadeira se x é cinco e o som é “moo”. Dê uma chance. Aqui está a solução. Você não precisa fazer o mesmo, mas eu cliquei em “Limpar” no canto superior direito. Se você fizer o mesmo, certifique-se de clicar na janela, pressione “Enter”, e lá vamos nós. Vamos entrar e digitar, agora a solução g é igual a x é igual, igual a cinco e som é igual, igual a “moo”. Aqui sabemos que x é de fato oito e não cinco, então esta primeira parte será falsa, tornando toda a declaração falsa, e digite g “Enter”, e é de fato falso. Agora, para uma rápida verificação da temperatura, como você está? Se isso fosse possível, isso é ótimo. Se isso não era possível, como se você tivesse metade das perguntas corretas ou mais de um terço, isso também é ótimo. À medida que avançamos, você ouvirá mais desses termos e conceitos repetidos uma e outra vez e outra vez. É assim que você vai construir familiaridade. Estamos à procura de familiaridade, não de um A+. Número 3, não era factível, pois só tens um ou dois correctos para o 17, não te preocupes. Acredite em mim, eu sei como é isso. Sugiro durante este passo a passo novamente ou revendo o vídeo anterior, você pode fazê-lo. Independentemente de onde você está, o domínio é quando você pode fazer suas próprias perguntas. Se você acha que dominou esta lição, tente apresentar algumas perguntas e soluções extras. Deixe-os na seção de discussão da turma, e seus colegas vão agradecer pela prática extra. Isso é tudo para os exercícios guiados da lição 3. 5. Coleções: Você criará suas primeiras coleções de dados. Como da última vez, você vai tocar em uma série de conceitos diferentes. Como antes, em vez de definir termos antecipadamente, definiremos esses termos à medida que os usamos. Eis o que aprenderemos. Não se preocupe, como antes, esses termos devem parecer estranhos para você. Em um nível alto, discutiremos como manter os dados nessas próximas duas lições. Comece navegando para responder. it/languages/python3, você será recebido com uma tela como esta. Começamos com uma coleção chamada lista. Uma lista é o que o nome indica, uma lista de itens. Como posso definir uma lista? Podemos fazer isso concreto olhando para algum código. Nós sempre usamos colchetes, um para iniciar a lista e outro para terminar a lista. Também usamos sempre vírgulas para separar cada item na lista. Neste caso, nossos itens são números. Você também pode ter listas de cadeias de caracteres. Lembre-se, uma string é um pedaço de texto denotado por aspas duplas ou aspas simples. Vamos ver isso em ação. Esta é uma lista de números. Esta é uma lista de cordas. Existem três possíveis erros ou erros. Uma possibilidade é um erro de sintaxe, fim de linha ao digitalizar string literal. Isto significa que a aspas duplas que realcei aqui é na verdade o início da string final que nunca termina. Isso significa que, na prática, esquecemos uma citação dupla antes do Alex. Então, se você receber um erro de sintaxe, verifique novamente suas aspas duplas. A segunda possibilidade é uma elipse como esta. Isso simplesmente significa que você não adicionou o colchete para o final da lista. Se você vir essas reticências, vá em frente e digite o colchete final e pressione Enter. A terceira possibilidade é um conjunto fundido de dois nomes. Neste caso, John e Alex foram amassados juntos porque esquecemos uma vírgula entre as duas cordas. Então, se você ver nomes fundidos, vá em frente e verifique novamente suas vírgulas. Agora, vamos atribuir uma variável a esta lista. Aqui está um nome de variáveis atribuído à lista que acabamos de definir. Para ter certeza de que definimos esta variável corretamente, digite nomes, pressionando Enter retorna a lista de nomes. No entanto, e se quisermos apenas o primeiro nome? Como obtemos um item de uma lista? Vejamos a lista de nomes que temos. Queremos o primeiro, o primeiro nome. Etapa número 1 é saber em que posição este item está. Este item está na primeira posição. Etapa número 2, localize o índice para o item desejado. Na maioria das linguagens de codificação, o primeiro item está na verdade no índice 0, o segundo item está no índice 1, o terceiro item está no índice 2, e assim por diante e assim por diante. Na etapa número 3, use colchetes e índice para obter o item. Este código retornará o primeiro nome na lista, que é Jane. Vamos tentar isso agora. Vamos em frente e digite nomes, colchete de zero. Aperte Enter e agora vemos Jane. Também podemos acessar os outros nomes nesta lista. Agora, o que acontece se acessarmos nomes de 1.000? Não existe tal item, por isso vamos obter um erro de índice. Um erro de índice significa que o índice fornecido é inválido. A lista tem apenas três itens, nada existe no índice 1.000, então Python gera um erro de índice. Assim como podemos atribuir variáveis, você também pode definir itens em uma lista para um valor. Por exemplo, podemos alterar o primeiro item na lista para Jen. Vá em frente e digite nomes de zero é igual a Jen. Parece muito para desempacotar, então vamos trabalhar da esquerda para a direita. Aqui, nomes de zero refere-se ao primeiro item na lista. O operador igual atribui o primeiro item à lista ao valor. O nosso valor é uma corda com a Jen. Para verificar se nossa tarefa foi bem-sucedida, digite os nomes e pressione Enter. Isso nos dá a lista modificada de nomes. Você também pode verificar quais nomes estão na lista usando o operador in. Por exemplo, para verificar se Jen está na lista, vá em frente e digite Jen em nomes. Observe que quando atualizamos a lista, soletramos Jen com um J. maiúsculo. Isso significa que quando verificamos a contenção usando dentro, temos que usar Jen com um J maiúsculo também. As cordas devem ser idênticas, e isso nos dá verdade como esperado. Também podemos verificar outros nomes. Vamos ver se Jack está na lista. Jack não está na lista. Então, como esperado, ficamos falsos. Agora, vamos passar para a nossa segunda coleta de dados, um dicionário. O que é um dicionário? Um dicionário mapeia chaves para valores. Pense nisso como seu dicionário em casa, que mapeia palavras para definições. Vamos tornar isso mais concreto vendo algum código. Como posso definir um dicionário? Usamos sempre chaves, uma para iniciar o dicionário e outra para terminar o dicionário. Usamos dois pontos para separar a chave do valor. Aqui, a chave é uma string denotada usando roxo. Aqui, o valor é um número denotado usando rosa. O dicionário e mapeia a chave jane para o valor de três. Usamos vírgulas para separar entradas no dicionário. Vamos tentar essa codificação agora. Vá em frente e digite Jane Colon 3 e John Colon 2. Este é um dicionário mapeando de nomes para números. No canto superior direito, vou em frente e clicar em Limpar. Novamente, você não tem que fazer isso. Isso é apenas para que o código não seja agrupado na parte inferior da tela. Se você também decidir limpar sua tela clicando no botão no canto superior direito, você terá que pressionar Enter depois de clicar em Limpar para que você possa ver o intérprete de cenoura laranja mais uma vez esperando por sua entrada. Agora, vamos atribuir uma variável ao nosso dicionário. Digamos que este dicionário mapeia nomes para números de cookies. Então vamos em frente e chamar o nome da variável para cookies. Observe aqui que nomes para cookies é nome variável, o que significa que estamos restritos apenas a letras e sublinhados como falamos em uma lição anterior. Estes são sublinhados aqui, não traços. Vamos em frente e agora definir nome para cookies é igual ao dicionário que acabamos de digitar anteriormente. Então Jane tem três biscoitos e John tem dois. Para ter certeza de que definimos esta variável corretamente, digite o nome para cookies. Apertar Enter retorna os nomes de mapeamento do dicionário para o número de cookies. No entanto, e se você só quiser o número de biscoitos da Jane? Como faço para obter um item de um dicionário? Tudo o que precisamos é da chave em que estamos interessados. Neste caso, queremos o número de biscoitos da Jane, então precisamos da chave Jane. Use colchetes e a chave para obter esse item. Este código retornará o número a que Jane corresponde, que é três. Vamos tentar essa codificação agora. Vá em frente e digite o nome para os cookies e passe a chave Jane. Repare que escrevemos Jane de forma idêntica nas duas vezes. A primeira vez foi toda minúscula e assim é a segunda vez. Essas teclas, essas cadeias de caracteres devem corresponder exatamente quando você estiver digitando as duas vezes. Também podemos fazer o mesmo com John. Agora, o que acontece se eu tentar procurar o número de biscoitos para Bob? Note que bob não está no nosso dicionário. Então, aqui, em vez disso, obteríamos um erro de chave. Um erro de chave significa que a chave não existe no dicionário. Se você vir um erro de chave, você tem um erro de digitação na chave. Assim como você pode modificar listas, você também pode modificar dicionários. Vamos em frente e digite o nome para biscoitos de Jane é igual a 10. Aqui, para a chave Jane, mudamos o valor de três para 10. Para verificar se nossa tarefa foi bem-sucedida, vá em frente e digite o nome para cookies. Clicar em Enter retorna o dicionário modificado de contagens de cookies. Você aprendeu muito nesta lição. Este é um resumo rápido dos conceitos que você abordou: listas e dicionários, como obter e definir elementos e, finalmente, como verificar a contenção. Se você quiser acessar e baixar esses slides, visite este URL. Agora você pode representar quaisquer dados de sua escolha com coleções de dados Python. No entanto, como podemos modificar essas coleções de dados de maneiras mais complexas? Talvez gostaríamos de reformatar algum texto ou fazer algum cálculo. Na próxima lição, vamos discutir um conceito de codificação chamado funções. 6. (Bônus) exercícios guiados para coleções: Bem-vindo ao Conteúdo de Bônus. A lição 4 é exercícios guiados. Neste vídeo, vamos percorrer exercícios que abordam conceitos da última lição. vez, há três passos para cada exercício; Eu vou apresentar um exercício, pausar o vídeo e tentar o exercício, então eu vou orientá-lo através da solução. Alguns exercícios são praticados quando o exercício é o primeiro a cobrir um conceito, e os outros exercícios são questionários, você deve tentar testar seu conhecimento com estes. Vamos entrar. Navegue até responder.it/languages/python3. Você verá uma página semelhante à da direita. Eu minimizei algumas das guias para que você só pode ver o intérprete na mão direita metade da tela. Agora, vamos em frente e começar com a pergunta número 1. Esta é uma questão de prática. Defina uma lista com três números. Atribua a lista a uma variável chamada números. Dê-lhe um minuto para tentar. Agora podemos definir números é igual a, e uma lista com três números, eu vou escrever 4, 5, e 2. Aperte “Enter”. Vamos digitar números para verificar se nossa lista foi definida com sucesso. Aperte “Enter” e lá vamos nós. Pergunta número 2. Esta é agora uma pergunta de teste. Defina uma lista com os números 4, 2 e 7 em qualquer ordem. Atribua sua lista a uma variável chamada numbers2. Dê-lhe um minuto para tentar. Agora, aqui está uma solução: números2 é igual a [4, 2, 7]. Novamente, não se esqueça de abrir e fechar colchetes. Agora, pergunta número 3. Esta é uma pergunta de teste. Defina uma lista com as strings “a”, “b” e “c”. Atribua a lista a uma variável chamada strings. Dê-lhe um minuto para tentar. Aqui está a solução. Escrever strings é igual a uma lista de strings ["a”, “b”, “c"]. Vá em frente e aperte “Enter”. Vamos verificar se esta lista foi definida com sucesso, e de fato foi. Pergunta número 4: definir uma lista com um booleano. Atribua a lista a uma variável chamada booleanos. Como uma dica, lembre-se booleanos ou são verdadeiros ou falsos com Ts maiúsculos e F maiúsculos. Dê-lhe um minuto para tentar. Aqui está a solução. Vamos definir uma lista chamada booleanos é igual a, e esta lista só irá conter um booleano, neste caso, vamos dizer Verdadeiro. Vá em frente e aperte “Enter”. Mais uma vez, vamos verificar se esta lista foi definida de acordo com a maneira que queríamos, e lá vamos nós. Pergunta número 5. Agora queremos obter o primeiro número na lista “números”. Dê-lhe um minuto para tentar. Aqui está a solução. Vá em frente e digite números, colchete de zero. Novamente, lembre-se de que zero é o índice do primeiro item, então isso irá buscar o primeiro item na lista de números, que, neste caso, é o número 4. Vá em frente e aperte “Enter”, e lá temos quatro. Pergunta número 6, esta é agora uma pergunta de teste. Obter o terceiro item na lista “strings”. Dê-lhe um minuto para tentar. Agora temos strings, e o terceiro item da lista está no índice dois. Lembre-se, o primeiro item está no índice zero, o segundo item está no índice um, e o terceiro item está no índice dois, então vá em frente e digite entre colchetes dois, “Enter”, e lá temos o terceiro item na lista. Pergunta número 7. Esta é agora uma questão de prática. Defina um dicionário mapeando strings para Booleans. Atribuir “Jack” para False, “Jane” para True e “Alex” para True. Atribua o dicionário final que você obtém a uma variável chamada “name_to_hungry”. Dê-lhe um minuto para tentar. Agora começamos definindo a variável, então name_to_hungry é igual a, e agora vamos definir o dicionário. Dicionários são denotados por uma chave, e agora vamos digitar a chave que é “Jack” eo valor que é False. Então a chave é “Jane” e o valor é False. A chave final aqui é “Alex” e o valor é True. Vá em frente e adicione essa chave encaracolada. Você notará que neste intérprete, a linha está enrolada. Se o intérprete for mais largo do que este ou se o ecrã for mais largo do que este, não verá esta linha contornada. Eu não apertei “Enter” ou criar uma quebra de linha, este intérprete envolveu por conta própria. Vá em frente e aperte “Enter”. Queremos verificar se este dicionário tem o que queremos, então digite name_to_hungry, e esse é o dicionário que realmente queremos. Vá em frente, e eu vou apertar “Clear” no canto superior direito. Você não tem que fazer isso, mas se você fizer, clique em sua janela e certifique-se de pressionar “Enter” para que você veja esta cenoura laranja mais uma vez. Pergunta número 8. Defina um dicionário mapeando nomes para números. Atribua essas chaves a esses números e atribua o dicionário final a uma variável chamada “name_to_burgers”. Tire um minuto para tentar esta pergunta. Agora, aqui está a solução. Vamos definir a variável, name_to_burgers, é igual a, e aqui temos um dicionário denotado com uma chave encaracolada. Vamos atribuir a string “Emily” para um, a string “Jenny” para o número dois, a string “Neel” para o valor três. Vá em frente e termine com outra chave encaracolada, aperte “Enter”, e vamos checar duas vezes este dicionário. Lá vamos nós, temos o que queremos. Pergunta número 9. Aqui está outra pergunta de treino. Defina um dicionário mapeando strings para strings. Atribua o dicionário a uma variável chamada “names_to_ names”. Vá em frente e dê um minuto. Aqui está a solução. Vá em frente e digite names_to_names é igual a, e nós vamos dizer “Jack” para “Emily”, e depois “Jenny” para “Neel”, e “Alex” para “Bob”. Vá em frente e pressione “Enter”, e há nosso dicionário mapeamento names_to_names. Pergunta número 10. Esta é agora uma pergunta de teste. Defina um dicionário mapeando números para strings. Atribua o dicionário a uma variável chamada “age_to_name”. Dê-lhe um minuto para tentar. Aqui está a solução. Nós vamos digitar age_to_name é igual a, e dicionário com uma chave, e vamos chegar a números arbitrários para strings. Aqui vamos dizer, 14 para “Bob”, vamos dizer 15 para “Alex”, e vamos dizer 20 para “Jenny”. Vá em frente e aperte “Enter”, e lá está o nosso dicionário. Pergunta número 10. Esta é agora outra questão prática. Busque o booleano correspondente a “Jack” no dicionário “name_to_hungry”. Dê-lhe um minuto para tentar. Aqui está a solução. Name_to_hungry, e queremos o valor correspondente à chave “Jack”, então vamos adicionar um colchete e digitar a chave. Como seria de esperar do conjunto anterior de perguntas, o valor é False. Agora, pergunta número 12, esta é uma pergunta de teste. Obtém o número de hambúrgueres correspondente a “Neel” no dicionário “name_to_burgers”. Dê-lhe um minuto para tentar. Agora vamos digitar a solução, nome_to_burgers, e a chave é “Neel”. Vamos digitar “Neel” e apertar “Enter”, e lá temos três. Pergunta número 13, esta é agora uma questão de prática. Defina uma lista de dicionários. Vá em frente e dê uma chance. Agora vamos digitar a solução. Aqui vamos ter o nome da variável, list_of_dict. Aqui vamos definir dicionário, vamos dizer “a” para um. Porque eu sou preguiçoso, ele só vai ter uma chave e um valor, e nós vamos ter apenas um segundo dicionário nesta lista. Vá e aperte “Enter”. Novamente, você pode criar os dicionários que quiser com as chaves e valores que quiser. Vá em frente e agora passe para a próxima pergunta, pergunta 14. Aqui está uma pergunta de teste. Defina um dicionário mapeando strings para listas. Dê-lhe um minuto para tentar. Aqui está uma solução possível; vamos definir um dicionário, digamos que str_to_lst é igual a um dicionário mapeando uma string, digamos, “Jack” para uma lista de números. Eu vou ser preguiçoso aqui e apenas adicionar uma chave e um valor. Vá em frente e aperte “Enter, e lá vamos nós, str_to_lst. Mais uma vez, vamos começar com a verificação da temperatura, como você está? Se isso fosse possível, isso é ótimo. Se isso mal foi possível, não se preocupe, continue e construirá familiaridade enquanto formos. Finalmente, se isso não fosse possível, também está tudo bem. Assista a este vídeo e ao anterior novamente. Cada vez que você assistir, o conceito vai afundar um pouco mais. Se você tiver alguma dúvida, definitivamente não hesite em deixar uma pergunta na seção de discussão da turma. Se você acha que dominou esta lição, tente apresentar algumas perguntas e soluções extras. Mais uma vez, deixe-os na seção de discussão da turma e seus colegas vão agradecer pela prática extra. Isso é tudo para os exercícios guiados da Lição 4. 7. Usando funções: reformatador de lista de e-mail: Nesta lição, você trabalhará com um conceito de codificação chamado funções e um conceito relacionado chamado métodos. Você vai tocar em um número de conceitos listados aqui. Aqui está o que aprenderemos. Vá em frente e navegue para responder.it/languages/python3. Você deve então ser recebido com uma tela como esta. Vamos voltar aos nossos slides. Primeiro, o que é uma função? Pense em funções que aprendeu na aula de matemática na escola primária. Funções aceitam algum valor de entrada e retornam algum valor. Por exemplo, considere a função de valor absoluto. Ele leva em um número e retorna a versão positiva desse número. Um exemplo de entrada é negativo cinco. Tomamos o valor absoluto e a função retorna cinco positivos. Vamos ver como essas funções se parecem em ação. Nesta lição, vamos usar várias dessas funções. Como faço para usar uma função? Considere novamente a função de valor absoluto. Em Python, o nome da função é apenas abs. Use parênteses para chamar a função. Chamar a função significa que executamos a função. Entre parênteses, adicione todas as entradas que a função precisa. A função de valor absoluto leva em apenas uma entrada. Nós também nos referimos à entrada como um argumento de entrada ou apenas o argumento. Outras funções podem ter diferentes números de argumentos de entrada. Por exemplo, considere a função máx. Esta função aceita dois argumentos de entrada e retorna o maior dos dois. Novamente, adicione parênteses e as entradas. Desta vez, use uma vírgula para separar os dois argumentos. Vamos tentar isso agora. Vá em frente e digite abdominais e passe no argumento negativo cinco. Isso chama a função abs com o argumento negativo cinco. A função abs irá então retornar positivo cinco. Vá em frente e tente novamente com o Max. Desta vez vamos passar em dois argumentos, cinco e sete. A função então retorna o maior dos dois valores, sete. Você também pode abrir um arquivo com uma função interna. Vá em frente e digite aberto. O primeiro argumento será o nome do arquivo. Neste caso, test.txt. O segundo argumento de w significa que estamos abrindo um arquivo no modo de gravação. Vá em frente e aperte “Enter”. O que é essa bobagem? Esse valor de retorno é um tipo de dados que nunca vimos antes. Para interagir com este novo tipo de dados, precisaremos aprender o que é um método. De volta aos nossos slides. O que é um método? Cada um dos tipos de dados que falamos até agora. Números, strings, funções, estes são todos os tipos de objetos, e um método é uma função que pertence a um objeto. São três novas palavras em uma frase, mas isso será mais simples de entender pelo exemplo. Como faço para usar um método? Neste exemplo, vamos dividir uma string em um número de strings menores. Primeiro, você precisa de um objeto. Aqui, temos um objeto string. Em seguida, adicione um ponto. Este ponto significa que estamos prestes a acessar um método para o objeto string. Adicione o nome do método. Nesse caso, o nome é dividido. Esta divisão método irá separar a corda em muitos pedaços. Para chamar esse método, assim como você chama funções, adicione parênteses. Entre parênteses, adicione seu argumento de entrada. Aqui estão todas as partes anotadas. Da esquerda para a direita, precisamos do objeto, um ponto, o nome do método e os argumentos de entrada. Vamos tentar isso agora. Vá em frente e digite o objeto. Este é um objeto string. Agora podemos chamar o método split com o argumento de uma vírgula. Isto irá separar a corda em três partes dividindo a corda em cada vírgula. Pressione “Enter” e agora você pode ver a lista resultante de três strings. Existem outros métodos também. Por exemplo, .upper. Este método irá maiúsculas todas as letras. Vá em frente e aperte “Enter”. Agora de volta ao nosso objeto de arquivo. Podemos, depois de carregar o arquivo, usar o método read para ler o conteúdo desse arquivo. Aqui recebemos um erro porque o arquivo test.txt ainda não existe, mas está tudo bem. Mais tarde, reutilizaremos a função de leitura. Por enquanto, cobrimos funções internas; no entanto, algumas funções não estão disponíveis imediatamente. Por exemplo, digamos que queremos ler uma página da Web, precisaríamos importar uma função que lê uma página da Web. Vamos fazer isso agora. De urllib.request, importe urlopen. Quebrando isso, urllib.request é o nome de uma biblioteca. Uma biblioteca é uma coleção de código Python que alguém escreveu que podemos usar. Urlopen é o nome da função que queremos. Podemos usar esta função para abrir uma página web. Vá em frente e aperte “Enter”. Agora, podemos usar esta função. Vamos agora escrever página é igual a urlopen e, em seguida, uma URL misteriosa. Aqui, eu vou realmente arrastar este lado direito para que a janela seja um pouco mais larga. Vá em frente e aperte “Enter”. Uma vez que é ler a página da Web, vá em frente e digite page.read. Isso é uma bagunça, mas tudo bem. Ainda não precisamos entender o conteúdo desta página web. Mais tarde, veremos como ler corretamente as páginas da Web para que possamos realmente entender o conteúdo. Por enquanto, você cobriu uma série de diferentes fundamentos importantes na codificação. Vamos usar o que aprendemos até agora para escrever uma ferramenta simples que reformata uma lista de e-mails em uma coluna de e-mails, um e-mail por linha. Até este ponto, temos trabalhado no intérprete Python. Digitamos uma linha de código e o intérprete avalia imediatamente essa linha de código. Agora, em vez disso, vamos escrever código em um arquivo. Depois de escrever todo o código e salvar o arquivo, vamos então executar o arquivo. Uma nota rápida. Observe que o cursor à direita é laranja. Este cursor está agora na parte inferior da tela onde eu o realcei. Este cursor laranja significa que o intérprete está aguardando nossa entrada. Mais tarde, quando sua ferramenta bacana estiver pedindo entrada, você poderá substituir este cursor laranja por qualquer texto que desejar. À esquerda, pode não ser ser não ser y. Comece coletando o texto de entrada do usuário. Para fazer isso, use a função de entrada. Vá em frente e digite a entrada e passe em um argumento. Este argumento pode ser qualquer texto que você gostaria. Vou digitar dois pontos de texto. Minha string vai pedir texto e terminaremos com dois pontos. Aperte “Run”. Agora você verá a string que você inseriu como um argumento. Observe que o cursor laranja do intérprete está faltando. Isso significa que seu programa está pedindo entrada e não o intérprete. Digite o texto desejado e pressione “Enter”. Nada de muito interessante acontece, ao que parece. No entanto, seu programa terminou e o cursor laranja do intérprete retornou. Bem, para onde foi a mensagem? Simplesmente, a função de entrada retornou o texto e nosso programa não fez nada com um valor de retorno. Vamos consertar isso. Vá em frente e atribua o texto inserido pelo usuário a uma variável chamada texto. Agora, precisamos dizer ao Python quando a saída eo que a saída. Para fazer isso, use a função de impressão. Qualquer argumento que fornecemos para a função de impressão será emitido. Vá em frente e digite impressão de texto. Isto irá produzir o que quer que os textos variáveis contiverem. Na parte superior da página, clique em “Executar”. Mais uma vez, você verá o prompt de texto. Vá em frente e digite qualquer texto que você gostaria e pressione “Enter”. Em seguida, você verá que o texto inserido é emitido pelo programa. Em seguida, vamos realmente processar este pedaço de texto em vez de apenas imprimi-lo. Exclua a última linha do arquivo e adicione uma nova linha de código. Em particular, divida o texto por cada vírgula usando a função de divisão. Aqui vamos chamar a mensagem de texto. Split e dividiremos a cada vírgula. Atribua o resultado a uma variável chamada e-mails. vez, nosso objetivo é enviar uma lista de e-mails em uma coluna onde cada e-mail está em sua própria linha. Primeiro, precisaremos do caractere correspondente a uma quebra de linha, que é um\ n. Em seguida, usaremos o método join para esta string. O método join aceita uma lista de e-mails e insere a quebra de linha entre cada par de e-mails. Finalmente, atribua a string resultante a uma variável chamada saída. Para a nossa última linha do programa, saída a string recém-formatada com um e-mail por linha. Agora terminamos o programa, vá em frente e aperte “Run”. Digite os e-mails listados, pressione “Enter”, e obtemos uma lista reformatada de e-mails onde temos um e-mail por linha. Você aprendeu muito nesta lição, como sempre. Este é um resumo rápido dos conceitos que você tocou: chamar funções, chamar métodos e importar funções. Se você quiser acessar e baixar esses slides ou visualizar código concluído para o exemplo desta lição, visite este URL. Agora você pode executar modificações avançadas de dados, mas e se você quiser uma função personalizada? Na próxima lição, você definirá suas primeiras funções. 8. (Bônus) exercícios guiados para usar funções: O Conteúdo Bônus, exercícios guiados da lição 5. Neste vídeo, vamos percorrer exercícios que abordam conceitos da última lição. Novamente, existem três etapas para cada exercício. Primeiro, apresentarei um exercício. Dois, pausar o vídeo e tentar o exercício. Três, eu vou orientá-lo através da solução. Alguns exercícios são prática. Sobre o exercício é o primeiro a cobrir conceito e os outros exercícios são questionários. Você deve tentar testar seu conhecimento com isso. Vamos entrar. Navegue até responder.it/languages/python3. Em seguida, você deve ver uma página como a da direita. Eu dividi minhas telas que você pode ver a pergunta no lado esquerdo e o intérprete no lado direito. Pergunta número 1. Isto é treino. Uma função “min” retorna o menor de dois números. Chame “min” com dois números como argumentos de entrada. Dê uma chance. Aqui está outra solução. Min, e eu colocarei dois números arbitrários dois e seis. Pergunta número 2, isto é um teste. Uma função “max” retorna o maior de dois números. Chame “max” com dois números como argumentos de entrada. Dê uma chance. Aqui está a solução. Temos o Max e eu vou digitar os dois mesmos números, e lá vamos nós. Pergunta número 3. Isto é outra vez prática. Uma função “sum” retorna a soma de uma lista de números. Chamar “soma” com uma lista de números como entrada. Dê uma chance. Aqui está agora uma solução. Soma, adicione um parênteses para chamar a função e, em seguida, adicione um colchete para indicar sua lista. Vou passar um monte de números aleatórios aqui. Vou digitar 4, 8 e 6. Vou fechar a lista com o colchete e, em seguida, terminar com parênteses END. Vá em frente e aperte “Enter” e teremos a nossa soma. Pergunta número 4. Esta é agora uma pergunta de teste. Uma função “all” retorna se todos os booleanos na lista são verdadeiros. Chame “todos” com uma lista de booleanos como entrada. Lembre-se booleanos são verdadeiros ou falsos com T maiúsculo e F maiúsculo Experimente. Aqui está a solução. Vamos digitar todos os parênteses para chamar a função, e vamos criar uma lista de booleanos com colchetes para uma lista e, em seguida, vamos digitar em True, False, False. Termine a lista e a chamada de função e pressione “Enter”. Pergunta 5, aqui vai um teste. Uma função “any” retorna se qualquer booleano em uma lista é verdadeiro. Desculpe, é um erro de digitação. Aqui, deixe-me entrar e consertar isso agora. Chame qualquer um com a lista de booleanos como entrada. Dê uma chance. Aqui está a solução. Nós digitamos qualquer um e, em seguida, dar-lhe uma lista de verdadeiro, falso, falso, terminamos a lista, terminamos a chamada de função, apertamos “Enter”, e lá vamos nós. Pergunta número 6. Esta é agora uma questão de prática. Um método de string “lower” leva zero argumentos e retorna uma versão minúscula na string. Esta string minúscula. Dê uma chance. Agora vamos ver a solução. Vamos digitar “HAHAHA”. Para chamar um método, lembre-se que você precisa ponto e, em seguida, o nome do método. Neste caso, o nome do método é menor e não há argumentos zero, então nós apenas adicionar parênteses sem nada entre eles. Vá em frente e aperte “Enter” e lá vamos nós. Pergunta número 7. Isto agora é um teste. Um método de string “lstrip” leva zero argumentos e remove espaços à esquerda. Espaços iniciais são todos os espaços com os quais a string começa. Vá em frente e remova todos os espaços principais de “hehe”. Dê uma chance. Aqui está a resposta. Vamos apenas digitar a corda que tínhamos de antes aqui. Temos aspas duplas espaço “hehe” e vamos escrever.lstrip sem argumentos, aperte “Enter” e removemos todos os espaços principais. Pergunta número 8. Isto agora é uma prática. Um método de string “endswith” leva um argumento de string e retorna true se a string termina com esse argumento. Queremos verificar se he@d.com termina com.com. Dê uma chance. Aqui está a resposta. Vamos digitar "he@d.com “.endswith, e vamos ter outra string, isto é, .com. Isso deve nos dar verdade como esperado. Pergunta número 9. Isto agora é um teste. Um método de string “startswith” leva um argumento de string e retorna true se a string termina com esse argumento. Verifique se “Sr. Bean” começa com “Sr.”. Dê uma chance. Aqui está a solução. Nós vamos criar a string “Mr. Bean”, e então nós vamos digitar.startswith. Aqui teremos outra corda que é “Sr.” e que também é verdade. Pergunta número 10, esta é uma pergunta de teste. Um método de string “find” leva um argumento de string e procura esse argumento na string original. Encontre a posição de cali em supercalifragilista. Vá em frente e dê uma chance. Aqui está a resposta. Vamos digitar “supercalifragilistic.find” e depois uma string “cali”. Está na posição 5. Pergunta número 11. Um método de string “count” leva um argumento de string e conta o número de vezes que o argumento aparece. Encontre o número de “i"s no Mississippi. Dê uma chance. Aqui está a solução. Vamos digitar “Mississippi”. Conte “i”. Ele aparece quatro vezes. Pergunta número 12. Um método de string “replace” leva dois argumentos, substituindo todas as instâncias da primeira string com a segunda string. Substitua todos os “a"s em “hahahaha” por “e"s. Experimente. Aqui está a solução. Vamos digitar “hahahaha”. Substituir todos os “a"s por “e"s. aperte “Enter” e lá vamos “hehehehe”. Pergunta número 13. Aqui está agora uma pergunta de teste. Substitua todos os “Bob” por “Jon” em “Bob cutucou o cachorro do Bob”. Dê uma chance. Aqui está a solução. Vamos digitar “Bob cutucou cachorro do Bob”. Substituir todas as instâncias do Bob por “Jon”. Aperte “Enter” e lá vamos nós o Jon cutucou o cão do Jon. Esqueci de limpar para que você não fique preso na parte inferior da tela. Eu vou clicar em “Limpar” no canto superior direito, e se você fizer o mesmo, certifique-se de clicar na janela, apertar “Enter” e garantir que há uma cenoura laranja. Pergunta número 14. Um método de dicionário “values” retorna todos os valores no dicionário. Retorna todos os valores no dicionário a seguir. Dê uma chance. Aqui está a solução. Vá em frente e digite o dicionário e, em seguida, dois pontos. Mais uma vez, esses espaços são opcionais. Eu só sigo a convenção de adicionar um espaço depois destes dois pontos. Vá em frente e digite now.values. Antes tínhamos um monte de objetos de string onde esses objetos de string tinham alguns métodos. Agora temos um dicionário com um método. Vá em frente e aperte “Enter” e obtemos os valores para este dicionário. Pergunta número 15. Aqui está um teste. Um método de dicionário “chaves” retorna todas as chaves no dicionário. Retorne todas as chaves no dicionário a seguir. Dê uma chance. Aqui está a solução. Vamos ter “a”: 1, “b”: 2.keys. Aperte “Enter” e lá vamos nós. Pergunta número 16. Digamos que você tem uma string, e essa string é apenas uma vírgula. O método de string “join” aceita uma lista de strings como entrada. Por exemplo, esta vírgula desta lista produz a, b, c. Use join para converter uma lista de partes de URL em um URL completo. Por exemplo, de um monte desses blocos, “Google.com”, “Mail” e “Oi”, para “google.com/mail/hi”. Agora, você pode pensar que isso é trapaça porque eu lhe dei a solução aqui com um exemplo. Mas, na realidade, isso é o que acontece quando você Google uma função ou um método on-line. Você verá um monte de exemplos que seguem a definição do método ou função. Na verdade, esta é uma expectativa bastante razoável para ter quando você está tentando usar uma função. Vá em frente e dê uma chance. Aqui está outra solução. Vamos escrever o /string.join e, em seguida, vamos passar na lista de strings: Google.com, mail e, em seguida, oi. Certifique-se de terminar sua lista e, em seguida, terminar sua chamada de função. Aperte “Enter” e lá vamos nós. Agora, esta foi uma pergunta particularmente desafiadora só porque esta é uma sintaxe Python realmente estranha, mas é assim que Python faz isso. É assim que você combina um monte de pedaços de cordas com algum separador. Neste caso, o separador é a barra. Mais uma vez, veja como você está. Esta foi uma seção difícil. Observe que, na realidade, você sempre pode Google como uma função ou método está sendo usado por outras pessoas. Você também pode tentar a função ou o método no intérprete para ver como ele funciona. Como resultado, não há necessidade de memorizar essas funções ou os usos dessas funções. Você só precisa saber o que significa chamar uma função ou método, o que você já fez dezenas de vezes neste vídeo. Se isso for possível, ótimo. Se isso é mal praticável, não se preocupe, continue e você construirá familiaridade à medida que progrediremos nas lições subsequentes. Se isso não fosse possível, também está tudo bem. Basta assistir este vídeo e o anterior novamente. Cada vez que você assistir, os conceitos vão afundar um pouco mais. Se você acha que dominou esta lição, tente apresentar algumas perguntas extras e as soluções. Deixe-os na seção de discussão da turma e seus colegas vão agradecer pela prática extra. Isso é tudo para os exercícios guiados da lição 5. 9. Definindo funções: relatório de temperatura: Na última lição, você aprendeu a usar funções. Nesta aula, você vai aprender como definir funções. Aqui está uma lista de conceitos que vamos abordar. Você vai aprender a definir funções, você vai aprender vários conceitos relacionados a isso, argumentos e declaração de retorno. Comece navegando para responder. it/languages/python3. Você deve então ver uma tela como esta. Para começar, como definimos uma função? Como mencionamos antes, pense em funções de sua aula de matemática. Como recapitulação, funções aceitam algum valor de entrada e retornam algum valor. Considere a função quadrada. Tomando um número x, multiplique x com ele mesmo, e retorne o número quadrado. Aqui, comece com def, D-E-F. Em seguida, siga-o com o nome da função. Em seguida, um conjunto de parênteses e dois pontos. Entre os parênteses, adicione seu argumento de entrada. Neste caso, nosso quadrado de função só leva em um argumento, que irá denotar x. seguida, adicionar dois espaços. Estes dois espaços são extremamente importantes. Esses espaços são como Python sabe que agora você está adicionando código à função. Uma vez que esta função é simples, a primeira e única linha da nossa função é uma declaração de retorno. A instrução return pára a função e retorna qualquer expressão vem em seguida. Para nós, a expressão é x vezes em si. Aqui estão todas as partes anotadas mais uma vez. Observe que todas as partes em preto são necessárias para definir quaisquer funções. Você sempre precisa de um def, parênteses para os argumentos de entrada e dois pontos para denotar a função está começando. Você também precisa da instrução return para retornar valores para o programador chamando sua função. O nome da função, as entradas e as expressões podem mudar. Como faço para usar minha própria função? Assim como você chamaria qualquer outra função, use parênteses e passe seu argumento de entrada. Neste caso, passamos o valor do argumento 5. Sua função então aceita o argumento 5 e atribui a variável x ao valor 5. Efetivamente, a função quadrada substitui todos os x cinco e finalmente retorna 5 vezes 5 ou 25. Agora, vamos tentar codificar isso. Como no final da última sessão, agora você vai escrever código em um arquivo em vez de no intérprete à esquerda em main.py para encontrar sua primeira função. Digitando def quadrado x e não se esqueça dos dois-pontos no final da primeira linha. Vá em frente e, em seguida, retornar x vezes x. Isso é muito de uma vez. Mas, felizmente, isso é exatamente o que acabamos de cobrir nos slides. Certifique-se de que há dois espaços antes da declaração de devolução. Certifique-se também de que há dois pontos no final da primeira linha. Como uma boa verificação de sanidade, verifique se as cores de cada parte do seu código são iguais às minhas. Minha definição e retorno são azuis. Meu quadrado é roxo. Vá em frente e aperte “Run”. Agora você pode chamar sua nova função, assim como você chamaria qualquer outra função. À direita, em seu intérprete chamado a função, digite no quadrado de 5. Como esperado, isso retorna o quadrado de 5 ou 25. Vamos tentar mais alguns. Quadrado de negativo 1 e quadrado de 3. Vamos agora escrever nossa segunda ferramenta bacana: um verificador de temperatura para qualquer cidade do mundo. Comece importando a função de abertura de URL que usamos na última lição. Nós tendemos a adicionar instruções de importação na parte superior do nosso arquivo. Então vá em frente e no topo do seu arquivo, digite a partir de urllib.request import urlopen. Então defina sua nova função. Esta nova função dará em uma cidade como um argumento de entrada, retornar a temperatura para essa cidade lendo uma página web. Primeiro, escreva o boilerplate para uma função: def e, em seguida, o nome da função get_temperature e, em seguida, o argumento seguido por dois pontos. Não se esqueça do cólon no final da linha. Como uma verificação de sanidade, novamente, verifique suas cores. Para a próxima linha, não se esqueça de adicionar dois espaços à frente. Se você pressionar “Enter” quando o cursor estiver no final desse dois-pontos, Repl.it adicionará automaticamente dois espaços para você. Em seguida, construa uma URL da cidade. Vá em frente e digite URL é igual ao endereço mais a cidade mais um pouco mais. Vou arrastar isto aqui para que possam ver mais do meu código no lado esquerdo. Vá em frente e digite, aspas duplas e, em seguida, o formato é igual ao seguinte. Os detalhes do site wttr.in não são importantes. Tudo o que você precisa saber é que este site oferece dados meteorológicos se você chamar um URL como wttr.in/paris. Em seguida, vá em frente e carregue essa página da Web. Página é igual a urlopen URL. Em seguida, vá em frente e leia os dados nessa página. Raw é igual a page.read. Vimos antes que a leitura de uma página da Web pode resultar em um monte de saída absurda. Isso ocorre porque os dados de retorno estão em um formato ilegível. Vamos chamar a decodificação para podermos ler os dados de retorno. Vá em frente e digite em temp é igual a raw.decode, e utf-8 é apenas uma forma de dados que podemos ler facilmente. Finalmente, devolva a temperatura. Agora terminamos a função. Vá em frente e pressione “Enter”, e uma vez que você está em uma nova linha, certifique-se de pressionar “Backspace” para que você agora não esteja mais na função. Como antes, vamos usar a função de entrada para pedir ao usuário entrada. Aqui, você vai pedir ao usuário um nome de cidade. Vá em frente e digite na cidade é igual a entrada, aspas duplas, cidade. Este dois-pontos de cidade será o prompt e a função de entrada irá retornar o texto inserido pelo usuário. Agora, vamos em frente e chamar a nova função que você acabou de criar passando na cidade que o usuário inseriu. Tipo em temp é igual a get_temperature da cidade. Finalmente, imprima a temperatura de retorno. Clique em “Executar” no topo. Você pode ver aqui agora há um prompt nos pedindo por uma cidade. Vá em frente e digite qualquer cidade que você quiser. Vou digitar Paris, e lá vamos nós. Sua ferramenta bacana retorna uma temperatura. Bom trabalho. Você notará que agora há um cursor laranja indicando o interpretador Python e não seu programa está ouvindo sua entrada. Para tentar o programa novamente, vá em frente e pressione “Executar” na parte superior da tela. Se você receber nenhum em vez da temperatura, isso significa que na linha 15, a função de impressão estava imprimindo uma variável com valor nenhum. Isso significa que a temperatura tem valor nenhum. Na linha 14, a temperatura foi atribuída ao valor none. Isso significa que a função get_temperature deve ter retornado o valor none. Isso significa que você talvez tenha esquecido a linha 11 em sua função get_temperature. Uma função, por padrão, sem uma instrução return retorna o valor none. Como resultado, se você ver o valor none na saída do programa, vá em frente e certifique-se de que você não esqueceu a linha 11. Repl.it salva automaticamente seu trabalho. Se você quiser alterar o nome do seu Repl.it para facilitar o acesso mais tarde, na parte superior da tela, ao lado do seu nome, vá em frente e clique no título e então você pode renomear seu projeto. Se você encontrar algum erro, certifique-se de verificar novamente o seu código contra o meu. Uma verificação rápida é, as cores combinam? Se as cores não corresponderem, você pode ter esquecido aspas finais, um parêntese final ou dois pontos. Além disso, não hesite em postar na seção de discussão se você estiver tendo algum problema e eu e seus colegas ficaremos mais do que felizes em ajudar. Você aprendeu muito nesta lição, como sempre. Este é um resumo rápido dos conceitos que você abordou: definição de funções, argumentos e instruções de retorno. Se você quiser acessar e baixar esses slides ou visualizar código concluído para o exemplo desta lição, visite este URL. Agora você pode definir funções personalizadas conforme necessário. Isso completa a seção sobre funções. Na próxima lição, você aprenderá sobre a lógica de controle. Soa mais sofisticado do que realmente é, mas você vai encontrar essas ferramentas extra útil na construção de ferramentas bacanas. 10. (Bônus) exercícios guiados para definir funções: Bem-vindo a mais conteúdo bônus, exercícios guiados da lição 6. Tenho certeza que você está familiarizado com o formato agora. Existem três passos para cada exercício. Primeiro, apresento um exercício. Dois, você pausa o vídeo e tenta o exercício. Três, passo a passo na solução. Alguns exercícios são prática e outros exercícios são questionários. Você deve tentar testar seu conhecimento com testes. Vamos entrar. Vá em frente e navegue até aaalv.in/coding101/exercises6. Você será recebido com uma página como esta. No canto superior esquerdo, você pode clicar no nome do “Repl.8" e clicar em “Fork”. Em seguida, você verá uma versão editável como esta. Repare que mudei o layout. Agora você estará usando o editor de arquivos na metade esquerda da tela em vez do intérprete à direita. Em vez de uma cenoura laranja, você deve estar olhando para a seção da página com um número de linha 1, 2, 3, assim por diante e assim por diante. Nesta tela, eu vou minimizar a aba esquerda aqui clicando em “Arquivos” e então eu vou arrastar este cursor central para que meu arquivo seja um pouco maior. Certo, vamos começar com a pergunta número 1. Para esta primeira pergunta, temos problema de prática, queremos definir uma função “mul3" que leva um argumento numérico e retorna esse número multiplicado por 3. Vá em frente e dê uma chance. Aqui está a solução. Vamos definir a função def mul3 que aceita um único argumento numérico. Aqui vamos adicionar um parêntese, vamos chamar esse argumento numérico x, e depois adicionar dois pontos, não se esqueça dos dois pontos. Então retornamos x vezes 3. Vá em frente e corra para se certificar de que sua função e que seu código é válido, então podemos tentar nossa função digitando mul3 e 5 e que deve nos dar 15. Pergunta número 2, agora é um teste. Defina uma função “sub3" que aceita um argumento numérico e retorna esse número subtraído por 3. Vá em frente e tente. Para a solução, defina sub3. Ele aceita um argumento de número único e retornar x menos 3. Podemos apertar “Run” e tentar sub3, 10 deve nos dar sete. Pergunta número 3, isto agora é um problema de prática. Defina um prod de função que aceita dois argumentos numéricos e retorna o produto de ambos os números. Dê uma chance, e aqui está a solução. Defina “prod” que aceita dois argumentos numéricos. Vamos chamar estes x e y, retorna o produto de ambos os números. Do lado direito vamos começar correndo e depois prod 3, 5 por 15. Pergunta número 4, isto agora é um teste. Defina uma função “add” que aceita dois argumentos numéricos e retorna a soma de ambos os números. Dê uma chance, e aqui está uma solução. Defina adicionar x, y e retornar a soma de ambos os números. Vá em frente e corra e depois podemos verificar, adicionar 3, 5 dá-nos oito. Pergunta 5, isto agora é um teste. Definir prod função find que aceita três argumentos numéricos e retorna o produto de todos os três números. Vou em frente e rolar um pouco mais para que você possa ver a solução anterior como uma referência. Vá em frente e dê uma chance. Aqui está uma solução. Vamos definir prod e vamos dar-lhe três argumentos e devolver o produto de todos os três. Agora vá em frente e corra. Aqui temos agora prod 3, 5, 7, e isso nos dará um grande número. Pergunta 6. Defina uma função “gt3" que aceita um argumento numérico e retorna se esse número é ou não maior que 3, dê um tiro. Agora, defina a função gt3 que aceita um argumento de número único, vamos chamar este x e retorna se x é ou não maior que 3. Vá em frente e aperte “Play” ou “Run” e então teremos gt3 de 5 e isso deve nos dar verdade. Pergunta número 7, agora é um teste. Defina uma função “lt10" que aceita um argumento numérico e retorna se o número é ou não menor que 10, dê uma tentativa. Agora, aqui está uma solução. Defina “lt10" que leva em um argumento numérico e retorna se o número é ou não menor que 10. Vá em frente e corra, e então podemos verificar “lt10”, vamos digitar cinco e isso vai nos dar verdade. Pergunta número 8, agora é um teste. Defina uma função gt3 que aceita dois argumentos numéricos e retorna se ambos os números são ou não maiores que 3. Aqui está uma pequena dica, lembre-se que x e y para algum código arbitrário x e y, todos retornam se ambos são verdadeiros ou não. Dê uma chance. Aqui está a solução, vamos digitar o nome da função ambos gt3. Isso vai levar em dois números, x, e y e vamos retornar x é maior que 3 e y é maior que 3. Vá em frente e execute o código. No canto superior direito podemos agora tentar este código, ambos gt3 e vamos digitar 5 e 7 e que irá retornar true. Pergunta número 9, isto agora é treino. Defina uma função sum3 que aceite uma lista de números e retorne a soma dessa lista multiplicada por 3, dê uma tentativa. Agora, defina sum3 que aceita uma lista de números, vamos chamar esta lista de “lst” e então vamos retornar a soma da lista multiplicada por 3. Execute o código deles e podemos tentar o código agora, sum3 e este será 1, 2, 3. Esta soma deve nos dar 6 vezes 3 deve nos dar 18, apertar “Enter” e temos 18. Pergunta número 10, agora é um teste. Um método de dicionário “values” retorna todos os valores no dicionário. Defina uma função “sumv” que aceita um dicionário e retorna a soma de todos os valores nesse dicionário. Agora, use sua função “sumv” para calcular a soma de todos os valores neste dicionário específico. Vamos definir, oops, ir, e dar uma chance primeiro. Agora, vamos definir esta função def sumv. Isso vai levar em um dicionário e ele vai retornar a soma de todos os valores, então aqui vamos fazer a soma de todos os valores. Vamos executar este código e tentar o código. Aqui teremos {"a”: 1, “b”: 2}, e teremos 3 como esperado. Pergunta número 11. Esta é uma pergunta prática. Defina uma função “is_jack_one” que aceita um dicionário como entrada e verifica se o número correspondente a “jack” no dicionário de entrada, é um. Dê um tiro. Agora, defina “is_jack_one”, passe em um dicionário, e então vamos verificar se o valor do dicionário correspondente a “jack” é igual a 1. Vá em frente e execute seu código. Aqui vamos escrever “is_jack_one” e vamos digitar {“jack”: 1} e sim é. Nós também vamos tentar um caso onde isso deve nos dar falso então vamos passar em dois, e isso nos dá falso como esperado. Pergunta número 12, isto agora é um teste. Defina uma função “add3_jack” que aceita um dicionário como entrada e retorna três mais do que o número correspondente a “jack” no dicionário de entrada. Vá em frente e tente. Certo, e aqui está a solução. Vamos em frente e digite define, add3_jack que leva em um dicionário. Primeiro, você obtém o valor correspondente a “jack”, então dicionário de “jack”, e então você adiciona três a ele. Vamos em frente e executar este código e tentar este código, add3_jack, “jack”: 1, e isso deve nos dar 4. Então também vamos tentar um valor diferente “jack”: 2 e que deve nos dar cinco. Perfeito. Mais uma vez, queremos verificar como você está indo, se isso foi realizável, isso é ótimo, se isso não foi possível, não se preocupe, continue e você vai construir familiaridade. Esta foi uma lição desafiadora. Continuamos não só a construir conceitos anteriores, mas também a integrar uma série de novos conceitos. Número 3, se isso não fosse possível, tudo bem, assista este vídeo e o anterior novamente. Cada vez que você assistir novamente os conceitos vão afundar um pouco mais. Se você está sentindo que já dominou esta lição como antes, tente apresentar algumas perguntas e soluções extras, ligue-as na seção de discussão da turma e seus colegas vão agradecer pela prática extra. Isso é tudo para os exercícios guiados da lição 5 ou exercícios guiados da lição 6. Vejo você na próxima lição. 11. If, while: assistente umbrella: Nesta lição, abordaremos o que é chamado de lógica de controle. Em particular, vamos falar sobre se declarações e loops while. Comece navegando para responder. it/languages/python3, você deverá ver uma tela igual a esta. O que é uma declaração if? Uma instrução if permite que você execute código se alguma condição for verdadeira. Veja como você pode usar uma instrução if. Comece escrevendo se, em seguida, adicione sua condição. Nesse caso, a condição é verificar se x é menor que cinco. Adicione dois pontos no final da linha. Não se esqueça deste cólon. Em seguida, adicione dois espaços no início da próxima linha. Estes espaços também são extremamente importantes. Não se esqueça destes. Finalmente, adicione o código que será executado somente se a condição for verdadeira. Aqui estão todas as partes anotadas para uma instrução if. Precisamos do if, pontos no final da primeira linha, e dois espaços antes de cada linha que queremos executar condicionalmente. Podemos mudar a condição em azul para o que quisermos. Nós também podemos mudar a expressão em laranja como quisermos. Em alguns, se x for menor que cinco, atribua x ao valor 10. A instrução if tem mais uma parte opcional. Você também pode adicionar uma instrução else. O próximo código é executado se a condição não for verdadeira. Como antes, adicione dois espaços e, em seguida, adicione a expressão para executar condicionalmente. Aqui está a declaração completa if-else. Digamos que x foi anteriormente três. Depois de executar este código, o que seria x? Pause o vídeo aqui e tire um momento para pensar. Depois de executar este código, x seria 10. Isso ocorre porque a condição x é menor que cinco é verdadeira. A primeira parte desta instrução if else é executada. Vamos escrever suas primeiras declarações “se else”. Desta vez, trabalharemos com o intérprete do lado direito. Vá em frente e defina a variável x, x é igual a três, em seguida, escreva seu primeiro if-else assim como mostramos nos slides. Vá em frente e digite se x for menor que cinco. Não se esqueça do cólon no final. Observe se formos em frente e apertamos “Enter”, a cor laranja agora desapareceu e, em vez disso, há três pontos. Isso significa que o intérprete está aguardando mais entrada antes de avaliar nosso código. Em particular, o intérprete está esperando por nós para terminar a função. Não se esqueça de digitar dois espaços no início da linha, um, dois, e então vá em frente e digite x é igual a 10. Agora, vá em frente e aperte “Enter” e adicione a instrução else. Novamente, não se esqueça do cólon. Pressione “Enter” mais uma vez, adicione dois espaços e digite x igual a dois. Pressione “Enter” e depois mais uma vez. Isso completa a nossa declaração “if else”. Agora, como discutimos anteriormente, a condição if é verdadeira uma vez que x é igual a três e três é menor que cinco. Como a condição é verdadeira, x agora é atribuído a 10. Como resultado, agora esperamos que x seja 10. Vamos verificar isso. Vá em frente e digite x e pressione “Enter”. Podemos ver que agora o valor é 10. Agora, vamos escrever mais uma instrução if-else usando strings em vez de números, definir o nome da variável é igual a bob. Agora, vamos em frente e adicionar uma instrução if usando esta string. Se o nome e o recall da lição 3 para verificar a igualdade, use dois sinais de igual. Aqui, verificamos se o nome é igual a john. Pressione “Enter”, adicione dois espaços, digite o nome de impressão verificado. Se a condição for verdadeira, imprima o nome da string verificado. Vá em frente e pressione “Enter”, digite mais com dois pontos, e caso contrário, se a condição acima for falsa, insira dois espaços e digite o nome não reconhecido de impressão. Pressione “Enter” duas vezes e podemos ver um nome não reconhecido. Isso foi porque desta vez a condição não era verdadeira. O nome é igual a bob, não igual a john. Como resultado, a instrução else é executada e o programa imprime nome não reconhecido. Vamos agora ver o que é um loop while. O que é um loop while? Um loop while itera sobre um pedaço de código várias vezes. Ele continua a iterar indefinidamente enquanto a condição é verdadeira. Em outras palavras, enquanto alguma condição é verdadeira, continue executando código uma e outra vez. Comece escrevendo enquanto, em seguida, adicione sua condição. Nesse caso, a condição é verificar se x é menor que cinco. Adicione dois pontos no final da linha. Não se esqueça deste cólon. Em seguida, adicione dois espaços no início da próxima linha. Finalmente, adicione o código que continuará sendo executado enquanto a condição for verdadeira. Aqui, cada vez que a expressão laranja é executada, x será incrementado por um. Aqui estão todas as partes anotadas. Por um loop while, precisamos do while, pontos no final da primeira linha, e dois espaços antes de cada linha que queremos executar repetidamente. Podemos mudar a condição em azul para qualquer coisa que quisermos e também podemos mudar a expressão em laranja como quisermos. Em alguns, enquanto x é menor que cinco, incremente x por um. Digamos que x é anteriormente zero, depois de executar este código, qual seria o valor de x? Pause o vídeo aqui e pondere-o por um momento. Depois de executar este código, x será cinco e a primeira passagem x é igual a zero. Zero é menor que cinco, então nós incrementamos x por um. X agora é um. Um ainda é menor que cinco, então incrementamos x por um novamente. Agora, X é dois. Continuamos fazendo isso até que x seja cinco. Então cinco não é inferior a cinco e o loop while pára. O valor final de x é então cinco. Vamos tentar isto. Vá em frente e digite primeiro x é igual a zero. Agora, vamos em frente e adicionar nossa declaração enquanto. Vamos digitar enquanto x é menor que cinco, dois pontos, inserir dois espaços, e vamos adicionar uma declaração de impressão extra para que possamos ver como o valor de x evolui. Vá em frente e digite a impressão de x para que possamos ver o valor de x, pressione “Enter”, dois espaços, e então x é igual a x mais um. Aperte “Enter” e mais uma vez. Agora podemos ver o valor de x evolve. Ele vai de 0, 1, 2, 3, 4, e, finalmente, vá em frente e digite x e veremos que agora é igual a cinco exatamente como dissemos anteriormente. Vamos construir outra ferramenta bacana. Desta vez, nossa ferramenta recomenda se deve ou não trazer um guarda-chuva dependendo do tempo atual em uma cidade de sua escolha. Como no final da última lição, agora você vai escrever código em um arquivo em vez de no intérprete. À esquerda, pode não ser largo. Comece importando a função de abertura de URL que usamos na última lição. Vá em frente e digite a partir urllib.request import urlopen, em seguida, defina sua nova função. Esta nova função, dada uma cidade como um argumento de entrada, retornará a condição meteorológica para essa cidade lendo uma página web. Vá em frente e digite def get_condition e cidade. Não se esqueça do cólon no final da linha, como sempre. Para a próxima linha, [inaudível] irá adicionar estes dois espaços automaticamente. Vá em frente e agora defina URL como igual a http://wttr.in/ e, em seguida, mais cidade. Observe que agora há uma mudança no final desta linha. O formato agora é igual à porcentagem maiúscula C. Novamente, os detalhes deste site em particular não são importantes. Leia a página da Web neste URL, assim urlopen e o URL. Nós também vamos ler os dados nessa página da web, então page.read, e então nós vamos reformatar os dados em um formato legível. Vá em frente e digite a condição é igual a raw.decode utf-8. Finalmente, devolva a condição. Agora terminamos com a função. Vá em frente e aperte “Enter”, e uma vez que você estiver nessa nova linha, vá em frente e pressione “Backspace” para excluir todos os espaços iniciais. Como antes, vamos usar a função de entrada para pedir ao usuário entrada. Aqui, você vai pedir ao usuário um nome de cidade mais uma vez. Cidade é igual a entrada, e o prompt é cidade, então vamos chamar a nossa nova função. Condição é igual a get_condition. Até este ponto, este código tem sido muito, muito semelhante às lições anteriores. No entanto, vamos agora dar uma olhada na condição e adicioná-lo a uma declaração if-else. Vá em frente e escreva se a condição é igual a limpar. Certifique-se de que existem dois sinais de igual e certifique-se de adicionar dois pontos no final desta linha. Vá em frente e aperte “Enter” e podemos ir em frente e imprimir nenhum guarda-chuva necessário se as condições estiverem claras, e caso contrário adicionar uma outra declaração com dois pontos, então imprimimos trazer um guarda-chuva. É isso. Verifique duas vezes as cores correspondem e se você tem dois pontos e espaços. Clique em “Executar” na parte superior e, em seguida, digite uma cidade de sua escolha. Sua ferramenta bacana então retorna se deve ou não trazer um guarda-chuva. Bom trabalho. Como de costume, se você tiver erros, verifique novamente seu código contra o meu. Verificação rápida é se as cores correspondem ou não. Se as cores não coincidirem, você pode ter esquecido aspas finais ou os dois-pontos. Nesta lição, cobrimos ambas as declarações if-else e os loops while. Se você quiser acessar e baixar esses slides ou visualizar código concluído para o exemplo desta lição, visite este URL. Isso conclui a sessão de lógica de controle parte 1. Na próxima lição, você aprenderá sobre uma maneira diferente de loop chamada de loop for. 12. (Bônus) exercícios guiados para if, while: Bem-vindo ao Conteúdo Bônus, Exercícios Guiados da Lição 7. Neste vídeo, vamos percorrer exercícios que abordam conceitos da última lição. Mais uma vez, há três etapas para cada exercício. Vou apresentar um exercício. Dois, você pausa o vídeo e tenta o exercício. Três, eu vou orientá-lo através da solução. Alguns exercícios são prática e os outros são questionários. Você deve tentar esses testes para testar seu conhecimento. Vamos entrar. Navegue até aaalv.in/coding101/exercises7. Você será recebido com uma página como esta. Vá em frente e clique no canto superior esquerdo, e clique em “Fork”. Você terá uma resposta editável, assim como esta. Comece com a pergunta 1. Praticar: Defina uma função gt5 que aceite um argumento numérico; se esse argumento for maior que cinco, retorne “yay!.” Dê-lhe um tiro. Aqui está a solução. Defina em gtf, ele leva em um argumento numérico, que vamos chamar x. se x for maior que cinco, retorne “yay!.” É isso. Nós podemos executar esta função, e depois gt5 e vamos passar em 10 e retorna “yay!” Caso contrário, se passarmos em dois, nada acontece. Pergunta número 2, agora é um teste. Defina uma reação de função que aceita um argumento de string; se esse argumento estiver entre nós, retorne “yay!” Dê-lhe um tiro. Aqui está a solução. Defina a reação que leva em um argumento de string. Vamos chamar este jogo de discussão de cordas. Pode chamá-lo do que quiser. Se o jogo é igual a entre nós, em seguida, retornar “yay!”. Agora, vamos tentar este código e digitar em reação algum outro jogo, tic tac toe, nada acontece, mas se nós digitar entre nós, então nós temos “yay!. Pergunta número 3, este é o treino. Defina uma função gt5o, que aceita um argumento numérico. Se o argumento for maior que cinco, retorne “yay! ,” e, de outra forma, retorne “nu!”. Dê-lhe um tiro. Aqui está uma solução. Defina gt5o que aceita um argumento numérico, que chamaremos x. se x for maior que cinco, retorne “yay! ,” e então retornar “nu!” Execute este código, e agora podemos tentar gt5o. Se passarmos em 10 minutos, então teremos “yay! ”, e caso contrário, se passarmos em dois, obteremos “nu!” Pergunta 4, isto é um teste. Defina uma reação de função que aceita um argumento de string; se esse argumento estiver entre nós, retorne “yay! ,” caso contrário, retorne “nu!” Muito semelhante às perguntas anteriores que vimos. Dê-lhe um tiro. Agora, aqui está uma solução. Defina a reação que leva no jogo; se o jogo está entre nós, retorne “yay! ,” e caso contrário, retorne else retorno “nu!” Agora podemos tentar esta função, aperte “Executar”. Digite em reação “entre nós”, e isso nos dá “yay!” A reação do dedo do pé tic tac dá-nos “nu!” Pergunta 5, treino. Definir um blackjack função que aceita uma lista de números. Se a soma dos números for menor que 21, retorne a soma, caso contrário, retorne zero. Dê-lhe um tiro. Aqui está uma solução. Defina blackjack que aceita uma lista de números, vamos chamar isso de lst. Se a soma dos números for menor que 21, então, se a soma da lista for menor que 21, retorne a soma, caso contrário, retorne zero. Aperte “Correr”. Vamos agora tentar blackjack 20, 20. Isso deve retornar zero, porque é maior que 21, e agora, tentamos para 3, 4, 5, e isso é menor que 21, então esperamos 12. Pergunta número 6. Isto agora é um teste. Defina uma função can_cook que aceita uma lista de strings. Se a lista de strings contiver limão, retorne a lista, caso contrário, retorne uma lista vazia. Aqui vai uma dica. Se você digitar o seguinte código, “hello” na lista, isso retornará True, se a lista de variáveis contiver a string hello. Dê-lhe um tiro. Aqui está a solução. Defina uma função can_cook que aceita uma lista de strings. Se a lista de strings contiver limão, retorne a lista. Então, se limão, na lista, retornar a lista, caso contrário, retornar uma lista vazia, que é apenas dois colchetes sem conteúdo. Vá em frente e aperte “Run”, e agora, digite can_cook, e vamos passar em uma lista com limão nele, e isso nos dará a lista de volta. Caso contrário, se eles passarem na lista sem limão, então isso nos dará uma lista vazia. Pergunta número 7, isto é um teste. Defina um riso de função que aceita uma lista de Booleans; se algum dos Booleans for verdadeiro, retorne “haha”, caso contrário, retorne “uh”. Aqui vai uma dica. A qualquer função retornará True se qualquer booleano na lista de entrada for True. Dê-lhe um tiro. Aqui está uma solução. Defina risada que aceita uma lista de Booleans. Se algum dos Booleans for verdade, devolva “haha”, caso contrário, devolva “uh”. Note que esta linha aqui, se alguma lista, também pode ser se Verdadeiro na lista, muito semelhante à nossa pergunta anterior. Qualquer um destes funcionaria. Para testar nossa função, vá em frente e execute seu código. No lado direito, digite risada, e vamos passar em uma lista de Booleans onde eles são todos falsos, que nos dá “uh” como esperado, e vamos passar em um verdadeiro, que nos dá “haha”. Pergunta número 8, Prática: Escreva um loop while que imprime todos os números de 5-10. Aqui, vamos digitar i é igual a cinco, e então eu vou escrever enquanto i é menor que 11, vamos imprimir i, e então vamos incrementar i. Agora, podemos tentar executar este código no lado direito. Vá em frente e aperte “Run”. Lá vamos nós. Temos todos os números de 5-10. Note que você também poderia ter colocado isso. Na verdade, aqui está uma alternativa. Então eu vou comentar este código, e aqui está uma solução alternativa que você poderia ter escrito. Você poderia ter escrito i é igual a quatro, enquanto i é menor que 10, i mais igual a um, print i.We irá incrementar i por um antes de imprimir, então o primeiro número será cinco e o último número será 10. Assim como antes, obtemos o mesmo resultado. Pergunta número 9, Quiz: Escreva um loop while que imprime cada número ímpar de 5-15. Dê-lhe um tiro. Aqui está a solução. Podemos digitar i é igual a cinco. Enquanto eu tiver menos de 16 anos. Aqui, podemos realmente fazer algo mais simples. Podemos dizer “print i “e “i “mais “é igual a dois. Isso nos dará todos os outros elementos. O primeiro seria cinco, e depois sete, e assim por diante. Vá em frente e execute seu código. Aqui, podemos ver cinco a 15, todos os números ímpares, como esperávamos. Agora, pergunta número 10, Questionário: Escreva uma função print_from_to, que aceita dois argumentos numéricos e imprime cada número do primeiro argumento para o segundo, por exemplo, print_from_to three, seis imprimiram todos os números de três a seis. Dê-lhe um tiro. Aqui está a solução. Defina print_from_to x, y. Estas são duas variáveis, não os dois números. Vamos em frente e agora usar esses números. Vamos definir um incremento i é igual a x, e enquanto i é menor que y mais um, imprimir i e depois incrementar i. Vamos agora tentar este código no topo. Pressione Play para executar o código e digite print_from_to três, seis, e isso irá imprimir cada número de três a seis. Pergunta 11, Prática: Escreva um loop while que imprime cada número de 5-10 que não é um múltiplo de três. Agora, podemos usar um loop while. Aqui, vamos começar realmente definindo i é igual a cinco, e então vamos escrever enquanto eu é menor que 11, na verdade. Vamos verificar se i modulo três não é um múltiplo de três. Queremos verificar se isso não é igual a zero, então imprimimos o valor i e, em seguida, incrementamos i por um. Aqui, vamos verificar, cinco é um múltiplo de três? Se cinco modulo três não é igual a zero, então não é de fato um múltiplo de três, e reimprimir o número, e então fazemos isso todo o caminho até chegarmos a 10. Vá em frente e execute seu código. Aqui, vamos ver todos os números que não são um múltiplo de três impressos. Pergunta número 12, Quiz: Escreva um loop while que imprime cada número de 5-15 que não é um múltiplo de seis. Você vai notar, isso é muito parecido com a pergunta anterior. Experimente agora. Aqui está uma solução. Vá em frente e digite i é igual a cinco, enquanto i é menor que 16, se i modulo seis não é igual a zero, não igual a zero. Se esse número não for um múltiplo de seis, então imprimimos o número e continuamos a incrementar. Vá e execute este código. Na parte inferior, você pode realmente ver que agora temos todos os números de cinco a 15 que não é um múltiplo de seis, então você não vê 12 ou seis aqui. Mais uma vez, queremos verificar como você está. Se isso é possível, isso é ótimo. Esta foi uma lição muito difícil. Combinamos muitos dos conceitos de antes. Se isso mal foi possível, não se preocupe, continue, e você construirá familiaridade enquanto formos. Número 3, se isso não fosse possível, tudo bem. Assista a este vídeo e ao anterior novamente. Cada vez que você assiste novamente, os conceitos vão afundar um pouco mais. Se você tiver alguma dúvida, por favor, não hesite em deixá-las na seção de discussão da turma, e ficarei mais do que feliz em respondê-las. Se você acha que dominou esta lição, tente criar algumas perguntas e soluções extras, deixe-as na seção de discussão da turma, e seus colegas vão agradecer pela prática extra. Isso é tudo para os Exercícios Guiados da Lição 7. 13. For loop: verificador de força de senha: Nesta lição, vamos abordar o que é chamado de loop for. Isso envolverá dois conceitos diferentes. Primeiro é a função de intervalo, e o segundo é o próprio loop for. Comece navegando para responder. it/languages/python3, você deve então ver uma página como esta. Nesta lição, vamos começar usando uma nova função chamada intervalo. Intervalo de chamada com o número como 10, vá em frente e aperte Enter. Intervalo retorna um tipo de dados especial. Este tipo de dados específico não é importante. Tudo o que precisamos saber é que, primeiro, o valor de retorno é iterável. Dois, um iterável é qualquer coisa que você pode repetir. Três, podemos converter qualquer iterável em uma lista usando a função lista. Vamos chamar lista no iterável retornado. Primeiro, atribua o valor de retorno a uma variável chamada iterável e, em seguida, vamos em frente e lista de chamadas nessa variável. Agora, você pode ver o conteúdo. intervalo retorna efetivamente uma lista de números de zero até o número que você inseriu menos um. Nós inserimos 10, então a lista de números vai de zero a nove. Agora, vamos usar a função de intervalo. Vamos voltar para os slides. Primeiro, considere o iterável que queremos fazer loop. Queremos fazer um loop sobre todos os números neste intervalo de zero a nove. Para iterar sobre este intervalo, vamos usar um loop for. Os caracteres em preto: for, in e os dois-pontos são todas partes obrigatórias de um loop for. A variável de item verde i é atribuída ao próximo valor no intervalo em cada iteração. Na primeira iteração, i é atribuído ao primeiro valor no intervalo, um zero. Na segunda iteração, i é atribuído ao segundo valor no intervalo, um, e assim por diante e assim por diante. Em seguida, adicione dois espaços no início da próxima linha. Estes espaços são extremamente importantes, não se esqueça deles. Finalmente, adicione a expressão que será executada uma vez para cada valor no intervalo. Há 10 valores no objeto de intervalo, portanto, essa expressão será executada 10 vezes uma vez para cada valor no intervalo. Aqui estão todas as partes anotadas. Para um loop for, precisamos do for, in, pontos no final da primeira linha, e dois espaços antes de cada linha que queremos executar repetidamente. Podemos alterar a variável item em verde, o iterável em azul, e a expressão em laranja para o que quisermos. Vamos tentar isso em código. Vamos em frente e agora digite para i no intervalo 10. Não se esqueça do cólon no final. Pressione Enter, dois espaços, e imprima i. Vá em frente e pressione Enter duas vezes e podemos ver todos os valores de zero a nove. Agora, vamos tentar um loop for em cordas. Primeiro, uma string também é um iterável. Vamos ver o que acontece quando chamamos lista em uma string. Como pode ver, temos uma lista de cartas, uma carta de cada vez. Então, se iterarmos sobre uma string, também teremos uma letra de cada vez. Vamos tentar isto. Para i em Olá Mundo, dois espaços, e impressão i. Como você pode ver, o programa imprime uma letra de cada vez. Agora, vamos construir outra ferramenta bacana. Desta vez, nossa ferramenta irá verificar se sua senha inclui um número. Como no final da última lição, agora você vai escrever código em um arquivo em vez de no intérprete. À esquerda em main.py, comece definindo uma função chamada check que leva um argumento a senha para verificar. Vamos em frente e escrever def check, leva em um argumento, a senha. Não se esqueça de seus dois-pontos, e agora vamos em frente e digite tem número é igual ao valor booleano false. Em um nível alto, vamos iterar sobre cada caractere na senha e verificar se é um número. Se o caractere for um número, defina essa variável como true. Agora, vamos escrever o seu loop para. Vá em frente e escreva para i em senha. Iterar sobre cada caractere na senha. Verifique se o caractere é um número escrevendo uma instrução if. Vá em frente e escreva se i.isdígito. Isdigit é um método de cadeia que é construído em para nós. Ele retorna true se a string i é realmente um número. Vá em frente e digite, e agora digite tem número é igual a true. Se este caractere i é de fato um número, isso irá atribuir tem número para verdadeiro. Vamos em frente e aperte Enter, aperte Backspace exatamente duas vezes, um, dois, e digite em retorno tem número. Isso finalmente retorna se a senha contém ou não um número. Agora, vamos em frente e aperte Enter duas vezes e Backspace uma vez. Vá em frente e digite a senha é igual a inserir uma senha, e isso irá pedir ao usuário uma senha. Agora, vamos em frente e usar nossa função de verificação, tem número é igual a verificação de senha. Isto irá verificar se a senha contém um número, e ele irá retornar um booleano true ou false. Agora, vamos em frente e imprimir esse booleano, e isso irá imprimir se a senha contém ou não um número. É isso. Verifique se as cores correspondem e se você tem dois pontos e espaços. Clique em Executar na parte superior e, em seguida, digite algum texto aleatório com ou sem um número. Vou digitar um texto aleatório com um número, e ficamos verdadeiros. Parece que o nosso programa realmente funciona. Você aprendeu alguns tópicos diferentes nesta lição. Nesta lição, você aprendeu tanto sobre a função de intervalo quanto para loops. Se você quiser acessar e baixar esses slides ou revisar código concluído para o exemplo desta lição, visite este URL. Isso conclui a série de lições de lógica de controle. Na próxima lição, vamos tocar brevemente sobre quais objetos em Python são. Você também trabalhará com utilitários potencialmente úteis para suas ferramentas no futuro. 14. (Bônus) exercícios guiados para For Loop: Bem-vindo ao Conteúdo Bônus, Exercícios Guiados da Lição 8. Neste vídeo, vamos percorrer exercícios que abordam conceitos do último vídeo. Mais uma vez, há três etapas para cada exercício. Primeiro, apresentarei um exercício. Dois, você vai pausar o vídeo e tentar o exercício. Três, eu vou te explicar a solução. Alguns exercícios são prática e outros são questionários. Você deve tentar testar seu conhecimento com essas perguntas de teste. Vamos entrar. Navegue até aaalv.in/coding101/exercises8. Você verá uma página como esta. Eu vou bater, oh. Quando estiver nesta página, clique em Fork. Clique no título no canto superior esquerdo e, em seguida, clique em Fork. Em seguida, você obterá uma versão editável deste modelo. No lado esquerdo, eu vou clicar em Arquivos - para minimizar esta aba - e eu também vou arrastar essa barra para a direita, então há mais espaço para o código em nosso arquivo. Do lado esquerdo, vamos em frente e começar com a pergunta número um, praticar. Defina uma função “lista de impressão” que aceita uma lista de strings e, para todas as strings, imprime a string em uma nova linha, vá em frente e tente. Aqui está a solução. Defina print_list. Vamos passar uma lista de strings e, para cada string na lista, imprimir a string. “ Impressão.” Cada vez que a impressão é chamada, a string será impressa em uma nova linha. Vá em frente e execute seu código. No lado direito chamada print_list e vamos passar em uma lista de strings. Adicione um colchete fechado, feche parênteses, e lá vamos nós. Pergunta número dois, um teste. Defina uma função “print_gt3" que aceita uma lista de números e, para todos os números, imprime se é maior do que três ou não. Dê-lhe um tiro. Aqui está a solução. Defina a função “print_gt3" que leva uma lista de números e, para números na lista, imprima se o número é maior que três ou não. Opa, não há “o”. Vá em frente e execute o código. Aqui, nós print_gt3 e passamos em uma lista de números. Lá vamos nós. Os dois primeiros números, um e três, não são maiores que três, mas cinco é de fato maior do que três. Pergunta número três, isto é um teste. Defina uma função “print_add3" que aceite uma lista de números e, para todos os números, imprime três a mais do que o número. Dê-lhe um tiro. Aqui está a solução. Defina “print_add3". Isso leva em uma lista de números e, para cada número na lista, imprimir três a mais do que o número. Execute o código. Podemos verificar novamente se esta função funciona chamando-a com uma lista de números. Lá vamos nós. Temos três a mais do que cada número na lista. Questão quatro, treino. Defina uma função, “print_a_names” que aceita uma lista de nomes e, para todos os nomes, imprime o nome somente se o nome começar com um “a”. Dê-lhe um tiro. Aqui está a solução. Definir, “print_a_names” e leva em uma lista de nomes e, para cada nome na lista, podemos imprimir o nome, mas apenas se o nome começa com um “a”. Lembre-se de um conjunto anterior de exercícios que podemos verificar se o nome começa com “a”. Execute seu código, e agora vamos tentar essa função. Teremos um monte de nomes com “a” e alguns nomes sem “a”. Pergunta cinco, quiz. Defina uma função “print_nums_gt3" que aceita uma lista de números e apenas imprime números maiores que três. Dê-lhe um tiro. Agora, aqui está a solução. Defina “print__nums_gt3" que aceita uma lista de números e, para cada número, se o número for maior que três, imprima o número. Execute seu código. Agora “print__nums_gt3" e vamos passar um monte de números, alguns maiores que três. Então aqui cinco, sete e nove são todos maiores que três, então eles são impressos. Pergunta número seis, este é o treino. Defina uma função “get_name” que aceita uma lista de nomes e retorna o primeiro nome que começa com um “a”. Dê-lhe um tiro. Agora, vamos falar sobre a solução. Observe que aqui eu disse retorna o primeiro nome, não imprimir. Então vá em frente e defina “get_name”. Isso aceita uma lista de nomes e para nome em nomes, basta retornar se o nome começa com “a” retornar esse nome. Uma coisa que ainda não falamos aqui é que a instrução return realmente encerra a função. Assim que esta instrução de retorno for executada, nada mais na função será executado. Assim, isso garante que o primeiro nome que começa com um “a” maiúsculo seja retornado. Vamos correr. Vamos agora usar esta função. Aqui teremos David, Alex, e vamos dizer Emily. Aqui, temos Alex, o primeiro nome que começa com um “A”. Pergunta número sete, quiz. Defina uma função “get_odd” que aceita uma lista de números e retorna o primeiro número que é ímpar. Dê-lhe um tiro. Aqui está a solução. Defina “get_odd” que aceita uma lista que números e vamos mais uma vez percorrer todos os números e se o número é ímpar, então retornamos o número. Agora podemos executar este código e verificar se o código está correto Dois, três e cinco. Aqui, esperamos três para o nosso valor de retorno. Perfeito. Mais uma vez, vamos ver como você está. Se isso fosse possível, ótimo. Se isso mal foi possível, não se preocupe. Mais uma vez, vamos ver como você está. Se isso fosse possível, ótimo. Se isso mal foi possível, não se preocupe. Este foi um conjunto desafiador de exercícios. O que é mais importante é que você pode ler o código e entender como ele funciona. Terceiro, se não fosse possível, tudo bem. Assista a este vídeo e ao anterior novamente. Cada vez que você assistir, os conceitos vão afundar um pouco mais. Se você está sentindo que você dominou esta lição, tente apresentar algumas perguntas e soluções extras. Deixe-os na seção de discussão da turma e seus colegas vão agradecer pela prática extra. Isso é tudo para os Exercícios Guiados da Lição 8. 15. Usando objetos: contagem regressiva para aniversário: Nesta lição, abordaremos como usar objetos. Nós não vamos entrar em muito detalhes sobre objetos, pois eles não eram uma classe própria. Vamos cobrir propriedades do objeto e dois objetos específicos, o datetime e os objetos timedelta. Comece navegando para responder. it/languages/python3, você verá uma tela como esta. Primeiro, importe datetime. Agora, podemos construir qualquer data e hora que quisermos. Por exemplo, este é 2030, 1º de janeiro e este é 2050, 1º de maio ao meio-dia. Também podemos fazer algo interessante. Anteriormente, vimos que poderíamos subtrair números. Aqui, você também pode subtrair objetos datetime. Você pode tentar isso agora subtraindo dois datetimes. Este é 2030, 1º de abril menos 2030, 1º de janeiro. Isso retorna um objeto timedelta. Este objeto timedelta representa a distância no tempo entre esses dois datetimes, que é 90 dias. Outro método bacana é chamado agora. Isso calcula a data e hora atual. Vá em frente e digite datetime.now. Como você pode ver, estou filmando esta aula apenas alguns dias. Como pode ver, estou filmando essa parte da aula no dia de Ação de Graças. Vamos ver quanto tempo temos até 1º de janeiro de 2030. Podemos fazer isso fazendo outra diferença entre objetos datetime. Podemos fazer datetime 2030, 1 de janeiro menos o datetime atual. É um grande número de dias no futuro. Vamos mergulhar um pouco mais no que este objeto timedelta oferece. Atribua uma diferença na última linha de código a uma variável, 2030, 1º de janeiro menos a data e hora atual. Até este ponto, vimos algumas coisas interessantes sobre objetos. Primeiro, podemos chamar métodos de objeto. Segundo, podemos subtrair objetos datetime um do outro. Mais um conceito. Os objetos podem ter propriedades que não são métodos. Você pode acessar uma propriedade usando também a notação de pontos. Por exemplo, o timedelta tem uma propriedade chamada days. Vá em frente e digite diff.days. Isso nos diz quantos dias até 1º de janeiro de 2030. Outro exemplo. O objeto datetime tem propriedades como dia e ano. Então vamos em frente e digite agora é igual ao datetime.now e agora você pode digitar em.year e.day. Vamos agora construir outra ferramenta bacana. Vamos escrever um programa que relata o número de dias até o seu aniversário. Como no final da última lição, agora você vai escrever código em um arquivo em vez de no intérprete. À esquerda em main.py, comece importando os utilitários datetime. Vá em frente e digite a partir de datetime importação datetime. Vamos atribuir uma variável para manter a data e hora atual. Nós também vamos atribuir outra variável para manter a data e hora para o aniversário deste ano, bday é igual datetime now.year, e vamos fingir que nosso aniversário é 1º de fevereiro. No entanto, digamos que é apenas dois dias do seu aniversário e é atualmente 3 de fevereiro. O aniversário deste ano já passou, então 1º de fevereiro não é o próximo aniversário. Felizmente para nós, você também pode comparar datas como se fossem números. Vamos agora usar uma condição if para verificar se o aniversário deste ano já passou. Se bday for menor do que agora, vá em frente e reatribua isso para que seja uma nova data/hora com um ano no futuro. Em outras palavras, se o aniversário deste ano tiver passado, calcule a data e hora para o aniversário do próximo ano. Vá em frente e digite agora diff é igual a aniversário menos agora. Finalmente, imprima a diferença em dias. No topo do arquivo, vá em frente e aperte Run e você deve ver o número de dias até o seu próximo aniversário. Isso conclui esta lição. Este é um resumo rápido dos conceitos que você tocou: propriedades do objeto, objetos datetime e objetos timedelta. Se você quiser acessar e baixar esses slides ou visualizar código concluído para o exemplo desta lição, visite este URL. Isso conclui todos os conceitos que queríamos abordar nesta aula. Na próxima lição, você sintetizará o que aprendeu em um projeto de exemplo final. 16. Projeto de amostra: mensagens secretas: Você construirá um programa simples e curto que permite enviar mensagens secretas para seus colegas ou amigos. Embora este não seja o exemplo mais prático, ele combina vários dos conceitos que aprendemos nesta aula. É também espero que um aplicativo divertido. Comece navegando para responder. it/languages/Python3. Você deve então ver uma tela igual a esta. Nesta lição, vamos criptografar nossas mensagens usando um algoritmo chamado cifra Caesar. De volta aos slides. O que é uma cifra de César? A cifra de César funciona mapeando cada letra para outra letra. Em particular, cada letra é mapeada para outra letra que vem 13 letras mais tarde. A é mapeado para N, B é mapeado para O, C é para P, e assim por diante e assim por diante, mas aqui está a parte interessante. Como existem 26 letras no alfabeto, isso também significa que se aplicarmos a cifra de César duas vezes a um pedaço de texto, você receberá de volta o texto original. Um A é mapeado para um N, e então esse N é mapeado de volta para um A. O dicionário Python para este mapeamento pode ser tedioso para escrever fora, então eu já gerei o dicionário na URL acima. Vá em frente e navegue até o URL e copie todo o código nessa página. Depois de copiar esse código, vá em frente e navegue de volta para o seu código. Nesta página, vá em frente e comece colando o mapeamento que você acabou de copiar no topo do arquivo. Isso define um dicionário, como abordamos em uma das lições anteriores, com a variável chamada mapeamento. Então vamos criar uma função chamada cifra, que irá calcular a mensagem secreta. Esta função leva em um argumento, que é o texto original. Então aqui temos função chamada cifra e um argumento original. Comece com texto vazio para a mensagem secreta, então adicionaremos um caractere de cada vez a este texto. Iterar sobre cada letra no texto original. Para a carta no original, não se esqueça do cólon como de costume. Vamos em frente e maiúsculas a letra atual, pois nosso mapeamento só suporta letras maiúsculas. Então vamos digitar letra é igual a letter.upper. Agora, vamos procurar a nova carta que esta velha carta deveria corresponder. Nova letra é igual ao mapeamento da letra antiga. Finalmente, adicione a nova letra ao texto. O texto é igual ao texto mais a nova letra. Finalmente, retorne a cifra do texto, pressione “Enter”, pressione “Backspace” uma vez e retorne o texto. Em seguida, pressione “Enter” e pressione “Backspace” para que você não tenha mais espaço à esquerda. Vamos em frente e pedir ao usuário texto para criptografar. Digite o texto é igual a entrada de texto ou segredo. Uma vez que temos o texto inserido do usuário, vá em frente e execute a função cifra. Portanto, o resultado é igual a cifra de texto. Isso executará a cifra no texto inserido pelo usuário. Finalmente, imprima o resultado, e isso conclui o programa. Vá em frente e pressione “Executar”, digite qualquer texto que você gostaria de codificar. Vamos entrar e digitar “olá”. Em seguida, copie isso, pressione “Executar” novamente e cole. Pressione “Enter” e sua mensagem será enviada de volta para você. Você verá que sua mensagem secreta foi decodificada com sucesso. Agora, sinta-se à vontade para criptografar qualquer mensagem secreta que você quiser. Se você quiser acessar e baixar esses slides ou visualizar código concluído para o exemplo desta lição, visite este URL. Isto conclui o nosso último exemplo. Divirta-se com seu programa, codifique uma mensagem secreta e envie essa cifra para seus amigos ou colegas. Mas não dê a mensagem. Terão que fazer essa aula para descobrir o segredo. Parabéns por aprender tanto e construir tantas ferramentas. Na próxima e última lição, discutiremos os próximos passos para além deste curso. 17. Conclusão: Parabéns, primeiro, você cobriu vários fundamentos de codificação diferentes; dois, você já teve experiência prática com código; e três, agora você tem um monte de ferramentas interessantes para usar. Você pegou código suficiente para começar a automatizar partes do seu dia-a-dia. Sugiro começar pequeno. Comece com as categorias que cobrimos com os exemplos desta classe, então você pode começar a ramificar para fora. Mas pode haver um indício de dúvida. Como faço para criar categorias de ferramentas além do que os exemplos abordados neste curso? Isso está completamente bem. Lembre-se, a discussão está lá como um recurso para você usar. Vá em frente e deixe uma pergunta e ficarei mais do que feliz em deixar uma resposta. Lembre-se, esta aula é ao vivo. À medida que você deixar comentários e postar comentários na seção de discussão, continuarei atualizando o curso e possivelmente incluirei mais exemplos que os alunos pedirem. Lembre-se que o objetivo é obter você, número um, interessado, e número dois, capaz de ler e procurar código. O que é mais importante do que ter a resposta certa é ter o interesse de continuar a construir ferramentas bacanas. Espero que você tenha se divertido, mas talvez o mais importante, espero que você possa ver quanto valor o código pode fornecer hoje. Não precisa ser uma jornada de meses e anos antes de começar a usar o código. Tem uma ferramenta super bacana? Eu e os teus colegas adoraríamos experimentá-lo. Vá em frente e publique um link na guia de projetos e recursos para que o resto de nós tente. Se isso despertou seu interesse e você quer fazer um pouco mais, experimente o Applications and Computer vision 101, Data Science 101 ou SQL 101 no meu perfil Skillshare. Eu também projetei o curso para ser muito curto e auto-suficiente. Há mais conteúdo chegando para ajudá-lo às entrevistas de codificação e se tornar um codificador Python mais avançado. Se tudo isso soa interessante para você, certifique-se de me acompanhar no Skillshare para ser notificado assim que uma aula for lançada. Parabéns mais uma vez por chegar ao final do curso, e até a próxima vez.