[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:18.75,0:00:19.50,Default,,0000,0000,0000,,Parâmetros ajudam a gente Dialogue: 0,0:00:19.50,0:00:20.42,Default,,0000,0000,0000,,a modular o comportamento\Nde uma função, Dialogue: 0,0:00:20.42,0:00:21.57,Default,,0000,0000,0000,,e a gente já sabe como\Ndefinir parâmetros simples, Dialogue: 0,0:00:21.57,0:00:22.84,Default,,0000,0000,0000,,que são informados\Nde forma posicional, Dialogue: 0,0:00:22.84,0:00:24.18,Default,,0000,0000,0000,,e parâmetros \Nde quantidade dinâmica, Dialogue: 0,0:00:24.18,0:00:25.52,Default,,0000,0000,0000,,em que a gente consegue \Nlidar com eles Dialogue: 0,0:00:25.52,0:00:26.14,Default,,0000,0000,0000,,como se fosse uma coleção qualquer. Dialogue: 0,0:00:26.14,0:00:28.09,Default,,0000,0000,0000,,Chegou a hora da gente ver \Ncomo lidar com parâmetros Dialogue: 0,0:00:28.09,0:00:29.38,Default,,0000,0000,0000,,que podem ou não virem\Npara a nossa função. Dialogue: 0,0:00:29.38,0:00:31.32,Default,,0000,0000,0000,,O que a gente vai ver\Nagora são chamados KWARGs, Dialogue: 0,0:00:31.32,0:00:33.27,Default,,0000,0000,0000,,ou Keyword Arguments, \Nque são argumentos Dialogue: 0,0:00:33.27,0:00:35.20,Default,,0000,0000,0000,,que a gente passa \Nno formato de dicionário. Dialogue: 0,0:00:35.20,0:00:37.13,Default,,0000,0000,0000,,E para que eles servem? Dialogue: 0,0:00:41.79,0:00:44.25,Default,,0000,0000,0000,,Imagina que você tem que trabalhar\Ncom a função que você tem Dialogue: 0,0:00:44.25,0:00:45.48,Default,,0000,0000,0000,,um valor específico que tem\Nque ser informado. Dialogue: 0,0:00:45.48,0:00:47.26,Default,,0000,0000,0000,,Nesse cenário, você informa para ele \Num parâmetro simples, Dialogue: 0,0:00:47.26,0:00:49.96,Default,,0000,0000,0000,,que sempre vai estar lá, \Ne que se não for informado, Dialogue: 0,0:00:49.96,0:00:52.66,Default,,0000,0000,0000,,o Python dá um erro. Dialogue: 0,0:00:52.66,0:00:54.59,Default,,0000,0000,0000,,Por outro lado, se você tem \Numa lista de quantidade dinâmica, Dialogue: 0,0:00:54.59,0:00:56.53,Default,,0000,0000,0000,,a gente vai ter que usar os args,\Npara que a gente consiga manipular eles Dialogue: 0,0:00:56.53,0:01:01.06,Default,,0000,0000,0000,,de forma dinâmica, sem se preocupar\Ncom a quantidade total. Dialogue: 0,0:01:01.06,0:01:04.74,Default,,0000,0000,0000,,No entanto, a gente pode querer\Num parâmetro Dialogue: 0,0:01:04.74,0:01:06.57,Default,,0000,0000,0000,,que vai estar ou não presente. Dialogue: 0,0:01:06.57,0:01:08.41,Default,,0000,0000,0000,,Ou seja, ele é uma informação opcional. Dialogue: 0,0:01:08.41,0:01:11.37,Default,,0000,0000,0000,,Se ele estiver presente, \Na gente faz alguma coisa com ele. Dialogue: 0,0:01:11.37,0:01:14.54,Default,,0000,0000,0000,,Caso não, a gente não faz\Nou assume algum valor padrão. Dialogue: 0,0:01:14.54,0:01:18.10,Default,,0000,0000,0000,,E para isso, a estrutura de dados\Nmais adequada que a gente conhece Dialogue: 0,0:01:18.10,0:01:19.14,Default,,0000,0000,0000,,é o dicionário, Dialogue: 0,0:01:19.14,0:01:22.46,Default,,0000,0000,0000,,que é justamente o tipo entregue \Nquando a gente usa os KWARGs. Dialogue: 0,0:01:22.46,0:01:24.36,Default,,0000,0000,0000,,Então, agora, vamos\Nlá para o código e dar uma olhada Dialogue: 0,0:01:24.36,0:01:26.27,Default,,0000,0000,0000,,em como esse cara funciona. Dialogue: 0,0:01:26.27,0:01:27.95,Default,,0000,0000,0000,,Aqui no VS Code, Dialogue: 0,0:01:27.95,0:01:28.79,Default,,0000,0000,0000,,a gente já tem \Num código de exemplo, Dialogue: 0,0:01:28.79,0:01:30.80,Default,,0000,0000,0000,,que é uma função simples \Nque exibe uma mensagem olá Dialogue: 0,0:01:30.80,0:01:32.82,Default,,0000,0000,0000,,e algum nome que foi entregue. Dialogue: 0,0:01:32.82,0:01:35.36,Default,,0000,0000,0000,,Se a gente exibir ela aqui,\Nexecutar ela, na verdade, Dialogue: 0,0:01:35.36,0:01:37.51,Default,,0000,0000,0000,,com o comando do Python, Dialogue: 0,0:01:37.51,0:01:39.66,Default,,0000,0000,0000,,a gente vai ver exatamente \Nisso na tela. Dialogue: 0,0:01:39.66,0:01:42.44,Default,,0000,0000,0000,,Mas, imagina que a gente queira\Nreceber aqui a informação Dialogue: 0,0:01:42.44,0:01:45.14,Default,,0000,0000,0000,,de se esse aluno \Nfez ou não um trabalho prático. Dialogue: 0,0:01:45.14,0:01:46.98,Default,,0000,0000,0000,,Então, a gente precisa\Nde uma informação Dialogue: 0,0:01:46.98,0:01:49.08,Default,,0000,0000,0000,,que vai dizer para a gente,\Nna verdade, Dialogue: 0,0:01:49.08,0:01:51.17,Default,,0000,0000,0000,,a nota que ele tirou\Nnesse trabalho prático. Dialogue: 0,0:01:51.17,0:01:53.66,Default,,0000,0000,0000,,E se ele não tiver uma nota, \Nnão significa que ele tirou zero. Dialogue: 0,0:01:53.66,0:01:56.15,Default,,0000,0000,0000,,Significa que ele não entregou. Dialogue: 0,0:01:56.15,0:01:57.12,Default,,0000,0000,0000,,Tá bom? Dialogue: 0,0:01:57.12,0:01:58.08,Default,,0000,0000,0000,,Então, vamos começar com isso. Dialogue: 0,0:01:58.08,0:02:01.34,Default,,0000,0000,0000,,A gente poderia definir\Naqui duas variáveis. Dialogue: 0,0:02:01.34,0:02:03.93,Default,,0000,0000,0000,,Uma para informar se ele fez\Nou não um trabalho prático. Dialogue: 0,0:02:03.93,0:02:05.76,Default,,0000,0000,0000,,E, para isso, a gente usaria \No tipo booleano. Dialogue: 0,0:02:05.76,0:02:08.42,Default,,0000,0000,0000,,E, depois, uma outra\Npara especificar a nota. Dialogue: 0,0:02:08.42,0:02:09.79,Default,,0000,0000,0000,,Mas, como a gente \Nconsegue usar os KWARGs, Dialogue: 0,0:02:09.79,0:02:11.91,Default,,0000,0000,0000,,a gente vai fazer isso \Nde uma vez só, Dialogue: 0,0:02:11.91,0:02:13.52,Default,,0000,0000,0000,,informando apenas a nota. Dialogue: 0,0:02:13.52,0:02:15.13,Default,,0000,0000,0000,,Então, saca só. Dialogue: 0,0:02:15.13,0:02:17.08,Default,,0000,0000,0000,,Eu vou colocar aqui\Na minha outra variável, Dialogue: 0,0:02:17.08,0:02:18.84,Default,,0000,0000,0000,,que vai ser o meu\Noutro parâmetro, Dialogue: 0,0:02:18.84,0:02:25.06,Default,,0000,0000,0000,,que eu vou chamar\Nde informações adicionais. Dialogue: 0,0:02:25.06,0:02:28.02,Default,,0000,0000,0000,,E, nesse caso, para que o Python\Nentenda que isso daqui é um KWARGs Dialogue: 0,0:02:28.02,0:02:30.97,Default,,0000,0000,0000,,e não uma variável simples, Dialogue: 0,0:02:30.97,0:02:33.16,Default,,0000,0000,0000,,eu vou ter que colocar\Nnão um, mas, dessa vez, Dialogue: 0,0:02:33.16,0:02:35.34,Default,,0000,0000,0000,,dois asteriscos\Nno começo dela. Dialogue: 0,0:02:35.34,0:02:36.39,Default,,0000,0000,0000,,Então, pronto. Dialogue: 0,0:02:36.39,0:02:38.26,Default,,0000,0000,0000,,A partir de agora, \Nse eu executar a aplicação Dialogue: 0,0:02:38.26,0:02:40.33,Default,,0000,0000,0000,,sem mexer na invocação\Nou no conteúdo daquela função, Dialogue: 0,0:02:40.33,0:02:45.25,Default,,0000,0000,0000,,o Python consegue executar isso\Nsem problema nenhum. Dialogue: 0,0:02:45.25,0:02:47.84,Default,,0000,0000,0000,,Porque ele já entendeu\Nque isso se trata de um KWARGs Dialogue: 0,0:02:47.84,0:02:50.65,Default,,0000,0000,0000,,e que as informações \Nque estão ali, elas são opcionais. Dialogue: 0,0:02:50.65,0:02:52.78,Default,,0000,0000,0000,,Ou seja, eu posso informar ou não. Dialogue: 0,0:02:52.78,0:02:54.58,Default,,0000,0000,0000,,Se a gente vier aqui \Ndentro do bloco de código, Dialogue: 0,0:02:54.58,0:02:56.38,Default,,0000,0000,0000,,vamos executar um print \Ncom aquele valor, Dialogue: 0,0:02:56.38,0:02:58.23,Default,,0000,0000,0000,,só para a gente entender \No formato que as coisas Dialogue: 0,0:02:58.23,0:03:00.08,Default,,0000,0000,0000,,estão chegando aqui dentro. Dialogue: 0,0:03:00.08,0:03:04.86,Default,,0000,0000,0000,,Eu vou copiar o nome da variável e,\Naqui, chamar a função nativa print, Dialogue: 0,0:03:04.86,0:03:07.15,Default,,0000,0000,0000,,passando ela para a gente\Nver ali no terminal. Dialogue: 0,0:03:07.15,0:03:08.64,Default,,0000,0000,0000,,Eu vou executar mais uma vez. Dialogue: 0,0:03:08.64,0:03:10.88,Default,,0000,0000,0000,,E repara que a mensagem\Nestá aqui e que, aqui embaixo, Dialogue: 0,0:03:10.88,0:03:13.11,Default,,0000,0000,0000,,dessa vez, eu tenho um dicionário, Dialogue: 0,0:03:13.11,0:03:16.90,Default,,0000,0000,0000,,que é aquela estrutura que a gente\Nusa baseada em chave e valor. Dialogue: 0,0:03:16.90,0:03:19.33,Default,,0000,0000,0000,,Então, eu vou começar\Naqui, na invocação Dialogue: 0,0:03:19.33,0:03:22.17,Default,,0000,0000,0000,,do método, passando valores\Npara esse meu QArgs. Dialogue: 0,0:03:22.17,0:03:26.80,Default,,0000,0000,0000,,E, para fazer isso, eu posso\Npassar eles no formato de chaves. Dialogue: 0,0:03:26.80,0:03:28.39,Default,,0000,0000,0000,,Ou seja, eu tenho\Nque colocar o nome Dialogue: 0,0:03:28.39,0:03:30.52,Default,,0000,0000,0000,,e o valor que eu quero\Npara aquela chave. Dialogue: 0,0:03:30.52,0:03:32.38,Default,,0000,0000,0000,,No nosso caso,\Nvai ser a nota Dialogue: 0,0:03:32.38,0:03:35.41,Default,,0000,0000,0000,,do trabalho prático,\Nou seja, nota tp. Dialogue: 0,0:03:35.41,0:03:38.05,Default,,0000,0000,0000,,Então, por isso, eu vou\Ncolocar aqui nota tp, Dialogue: 0,0:03:38.05,0:03:41.15,Default,,0000,0000,0000,,o sinal de igual e o valor\Nque eu quero informar. Dialogue: 0,0:03:41.15,0:03:43.69,Default,,0000,0000,0000,,Que, nesse caso, vai\Nser, por exemplo, 10. Dialogue: 0,0:03:43.69,0:03:45.88,Default,,0000,0000,0000,,Eu vou só salvar o meu\Nprograma e executar Dialogue: 0,0:03:45.88,0:03:48.58,Default,,0000,0000,0000,,de novo para a gente\Nver o que mudou. Dialogue: 0,0:03:48.58,0:03:50.93,Default,,0000,0000,0000,,Aqui, a mensagem continua\Na mesma coisa, só que, Dialogue: 0,0:03:50.93,0:03:53.50,Default,,0000,0000,0000,,dessa vez, repara que dentro\Ndo meu dicionário, Dialogue: 0,0:03:53.50,0:03:57.08,Default,,0000,0000,0000,,eu tenho a chave\Nnota tp com valor 10. Dialogue: 0,0:03:57.08,0:03:58.62,Default,,0000,0000,0000,,E, a partir daqui,\Na gente já consegue Dialogue: 0,0:03:58.62,0:04:00.25,Default,,0000,0000,0000,,trabalhar\Ncom essa informação. Dialogue: 0,0:04:00.25,0:04:02.40,Default,,0000,0000,0000,,E é exatamente isso que a gente\Nvai fazer aqui agora. Dialogue: 0,0:04:02.40,0:04:04.10,Default,,0000,0000,0000,,Eu vou abrir um espacinho\Nentre as duas Dialogue: 0,0:04:04.10,0:04:06.52,Default,,0000,0000,0000,,mensagens e uma coisa\Nque a gente tem que lembrar Dialogue: 0,0:04:06.52,0:04:10.35,Default,,0000,0000,0000,,é que os QArgs são informações\Nrealmente opcionais. Dialogue: 0,0:04:10.35,0:04:12.41,Default,,0000,0000,0000,,Então, a gente tem\Nque lidar com o cenário Dialogue: 0,0:04:12.41,0:04:14.24,Default,,0000,0000,0000,,delas estarem\Npresentes ou não. Dialogue: 0,0:04:14.24,0:04:16.56,Default,,0000,0000,0000,,E a estrutura do dicionário\Nentrega formas Dialogue: 0,0:04:16.56,0:04:19.45,Default,,0000,0000,0000,,de a gente lidar com isso\Nsem problema algum. Dialogue: 0,0:04:19.45,0:04:21.34,Default,,0000,0000,0000,,Então, eu vou,\Nbasicamente, antes de usar Dialogue: 0,0:04:21.34,0:04:23.21,Default,,0000,0000,0000,,as informações\Ndaquele dicionário, Dialogue: 0,0:04:23.21,0:04:24.86,Default,,0000,0000,0000,,ver se tem alguma\Ninformação dentro Dialogue: 0,0:04:24.86,0:04:26.98,Default,,0000,0000,0000,,da chave que eu estou\Npretendendo usar. Dialogue: 0,0:04:26.98,0:04:29.36,Default,,0000,0000,0000,,Então, para isso, a nossa regra\Nvai ser a seguinte. Dialogue: 0,0:04:29.36,0:04:31.50,Default,,0000,0000,0000,,Se a gente não tiver\Naquela chave, significa Dialogue: 0,0:04:31.50,0:04:33.68,Default,,0000,0000,0000,,que o aluno não Fez\No trabalho prático. Dialogue: 0,0:04:33.68,0:04:35.45,Default,,0000,0000,0000,,E, por isso, eu vou,\Nbasicamente, exibir Dialogue: 0,0:04:35.45,0:04:37.81,Default,,0000,0000,0000,,uma mensagem falando\Nque a gente não encontrou tp. Dialogue: 0,0:04:37.81,0:04:38.67,Default,,0000,0000,0000,,Vamos lá. Dialogue: 0,0:04:38.67,0:04:42.55,Default,,0000,0000,0000,,Aqui dentro, eu vou começar\Ncom uma condicional para que eu veja Dialogue: 0,0:04:42.55,0:04:46.13,Default,,0000,0000,0000,,se a chave nota tp está\Ndentro daquela minha variável. Dialogue: 0,0:04:46.13,0:04:49.91,Default,,0000,0000,0000,,Então, eu vou colocar\Naqui entre aspas, Dialogue: 0,0:04:49.91,0:04:53.54,Default,,0000,0000,0000,,nota tp em informações\Nadicionais. Dialogue: 0,0:04:53.54,0:04:56.04,Default,,0000,0000,0000,,Ou seja, se aquela nota\Nestiver dentro daquelas Dialogue: 0,0:04:56.04,0:04:59.34,Default,,0000,0000,0000,,informações, então esse bloco\Nde código vai ser executado. Dialogue: 0,0:04:59.34,0:05:01.68,Default,,0000,0000,0000,,Mas como que eu quero\Nexatamente o contrário, Dialogue: 0,0:05:01.68,0:05:04.26,Default,,0000,0000,0000,,eu vou colocar uma negação\Naqui antes do in. Dialogue: 0,0:05:04.26,0:05:06.00,Default,,0000,0000,0000,,Então, fica da seguinte forma. Dialogue: 0,0:05:06.00,0:05:08.36,Default,,0000,0000,0000,,Se a chave nota tp\Nnão estiver dentro Dialogue: 0,0:05:08.36,0:05:10.98,Default,,0000,0000,0000,,do dicionário\Ninformações adicionais, Dialogue: 0,0:05:10.98,0:05:18.14,Default,,0000,0000,0000,,então eu quero exibir uma mensagem\Nfalando que o tp não foi encontrado. Dialogue: 0,0:05:18.14,0:05:21.96,Default,,0000,0000,0000,,E como, a partir daqui, eu não\Nquero executar mais nada, Dialogue: 0,0:05:21.96,0:05:24.97,Default,,0000,0000,0000,,eu vou apenas escrever um return\Npara que o Python entenda Dialogue: 0,0:05:24.97,0:05:28.17,Default,,0000,0000,0000,,que eu não tenho que executar\Nmais nada daqui para frente Dialogue: 0,0:05:28.17,0:05:29.97,Default,,0000,0000,0000,,e saia dessa função. Dialogue: 0,0:05:29.97,0:05:32.89,Default,,0000,0000,0000,,Vamos rodar aqui de novo\No nosso terminal. Dialogue: 0,0:05:32.89,0:05:36.18,Default,,0000,0000,0000,,Ou melhor, limpar o terminal\Ne executar novamente a aplicação Dialogue: 0,0:05:36.18,0:05:39.48,Default,,0000,0000,0000,,para a gente ver como que as coisas\Nse comportam do jeito que está. Dialogue: 0,0:05:39.48,0:05:42.82,Default,,0000,0000,0000,,Desse jeito aqui, a aplicação\Nnão entrou na condicional Dialogue: 0,0:05:42.82,0:05:44.29,Default,,0000,0000,0000,,e seguiu adiante\Nexibindo aquele Dialogue: 0,0:05:44.29,0:05:46.66,Default,,0000,0000,0000,,nosso dicionário\Nde informações adicionais. Dialogue: 0,0:05:46.66,0:05:50.26,Default,,0000,0000,0000,,Mas se a partir de agora\Neu remover essa informação, Dialogue: 0,0:05:50.26,0:05:53.20,Default,,0000,0000,0000,,ele entra na condicional\Ne exibe a mensagem para a gente. Dialogue: 0,0:05:53.20,0:05:55.98,Default,,0000,0000,0000,,Então eu vou voltar\Ncom ela daqui para que a gente Dialogue: 0,0:05:55.98,0:05:59.19,Default,,0000,0000,0000,,coloque mais coisa aqui\Nno fluxo do nosso programa. Dialogue: 0,0:05:59.19,0:06:01.35,Default,,0000,0000,0000,,E a partir desse momento,\Na gente está trabalhando Dialogue: 0,0:06:01.35,0:06:03.87,Default,,0000,0000,0000,,com a possibilidade de que a nota\Nestá sendo entregue. Dialogue: 0,0:06:03.87,0:06:07.49,Default,,0000,0000,0000,,Então eu vou colocar um if para ver\Nse essa nota é maior do que 7. Dialogue: 0,0:06:07.49,0:06:09.18,Default,,0000,0000,0000,,Se for, então o aluno\Nestá aprovado. Dialogue: 0,0:06:09.18,0:06:11.61,Default,,0000,0000,0000,,Se não for, então o\Naluno está reaprovado. Dialogue: 0,0:06:11.61,0:06:13.89,Default,,0000,0000,0000,,Então eu vou começar\Ncom mais uma condicional Dialogue: 0,0:06:13.89,0:06:16.36,Default,,0000,0000,0000,,e eu vou acessar\No informações adicionais Dialogue: 0,0:06:16.36,0:06:19.75,Default,,0000,0000,0000,,e usar o método get\Npara pegar aquela chave. Dialogue: 0,0:06:19.75,0:06:21.60,Default,,0000,0000,0000,,Qual que é a chave? Dialogue: 0,0:06:21.60,0:06:22.95,Default,,0000,0000,0000,,a nota tp. Dialogue: 0,0:06:22.95,0:06:26.43,Default,,0000,0000,0000,,Eu copio aqui e vejo se\Nela é maior do que 7. Dialogue: 0,0:06:26.43,0:06:30.21,Default,,0000,0000,0000,,Se ela for maior do que 7,\Neu vou copiar aqui essa mensagem Dialogue: 0,0:06:30.21,0:06:31.67,Default,,0000,0000,0000,,e eu vou editar para que ela seja. Dialogue: 0,0:06:33.74,0:06:37.90,Default,,0000,0000,0000,,parabéns, você foi aprovado no tp. Dialogue: 0,0:06:37.90,0:06:41.03,Default,,0000,0000,0000,,E eu também vou definir\Num caso padrão, que é o Else, Dialogue: 0,0:06:41.03,0:06:43.44,Default,,0000,0000,0000,,para quando essa condicional\Nnão for atendida. Dialogue: 0,0:06:43.44,0:06:46.19,Default,,0000,0000,0000,,E se esse for o caso,\Neu vou exibir a mensagem. Dialogue: 0,0:06:48.50,0:06:51.43,Default,,0000,0000,0000,,Infelizmente, você não\Nfoi aprovado no tp. Dialogue: 0,0:06:51.43,0:06:52.73,Default,,0000,0000,0000,,E pronto. Dialogue: 0,0:06:52.73,0:06:56.24,Default,,0000,0000,0000,,Deixa eu só tirar essa mensagem\Naqui de baixo, limpar o terminal, Dialogue: 0,0:06:56.24,0:06:58.29,Default,,0000,0000,0000,,e se a gente executa\Na nossa aplicação Dialogue: 0,0:06:58.29,0:07:00.09,Default,,0000,0000,0000,,novamente, a gente\Ntem a mensagem Dialogue: 0,0:07:00.09,0:07:04.24,Default,,0000,0000,0000,,Olá aluno, que a gente não mexeu,\Ne parabéns, você foi aprovado no tp. Dialogue: 0,0:07:04.24,0:07:06.63,Default,,0000,0000,0000,,Se a gente abaixa\Num pouco essa nota aqui, Dialogue: 0,0:07:06.63,0:07:09.15,Default,,0000,0000,0000,,para algo próximo de 10,\Nmas um pouco abaixo Dialogue: 0,0:07:09.15,0:07:11.86,Default,,0000,0000,0000,,de 7, por exemplo, 1,\Na gente vai ter a mensagem Dialogue: 0,0:07:11.86,0:07:14.72,Default,,0000,0000,0000,,Infelizmente, você não\Nfoi aprovado no tp. Dialogue: 0,0:07:14.72,0:07:17.72,Default,,0000,0000,0000,,E é dessa forma que a gente\Nconsegue preparar as nossas funções Dialogue: 0,0:07:17.72,0:07:21.09,Default,,0000,0000,0000,,para que elas consigam lidar\Ncom informações opcionais, ou seja, Dialogue: 0,0:07:21.09,0:07:24.19,Default,,0000,0000,0000,,que podem ou não serem formadas. Dialogue: 0,0:07:24.19,0:07:26.96,Default,,0000,0000,0000,,Claro, a gente poderia\Ntambém lidar com informações Dialogue: 0,0:07:26.96,0:07:29.63,Default,,0000,0000,0000,,do tipo se a variável\Nestiver com um valor vazio, Dialogue: 0,0:07:29.63,0:07:32.22,Default,,0000,0000,0000,,ou se uma boleana estiver\Ninformando algo, então Dialogue: 0,0:07:32.22,0:07:35.46,Default,,0000,0000,0000,,eu posso assumir que uma outra\Nvariável tem um valor. Dialogue: 0,0:07:35.46,0:07:38.91,Default,,0000,0000,0000,,Mas está começando a ficar bem claro\Nque isso ficaria muito complicado Dialogue: 0,0:07:38.91,0:07:42.48,Default,,0000,0000,0000,,de dar manutenção e até mesmo\Nde entender o que está acontecendo. Dialogue: 0,0:07:42.48,0:07:45.85,Default,,0000,0000,0000,,E da mesma forma com que a gente\Ntem diversas estruturas de dados, Dialogue: 0,0:07:45.85,0:07:47.89,Default,,0000,0000,0000,,a gente também tem\Ndiversas possibilidades. Dialogue: 0,0:07:47.89,0:07:50.73,Default,,0000,0000,0000,,Cada um atende um cenário\Ne cabe a gente a decidir qual Dialogue: 0,0:07:50.73,0:07:53.31,Default,,0000,0000,0000,,que é a melhor para o nosso caso\Nde uso específico.