[Música] olá pequeno foi o outro seja bem-vinda a 20ª ao número redondo god números redondos 20ª aula do seu curso em vídeo de python o meu nome é gustavo guanabara eu sou professor e agora cada além de número redondo nas aulas nós vamos ter um número redondo dos exercícios porque nessa aula nós vamos resolver ou vamos tentar resolver o exercício de número 100 sem o centésimo exercício que muita gente pensou nisso lá não vai ser possível fazer sem exercícios de python para a gente não chegou nem perto do final do curso ea gente já fez
em exercícios e agora eles estão no formato um pouco diferente né agora eu mostro exercício funcionando durante a aula você já vê qual o resultado que eu tô esperando e agora estou colocando alguns conceitos extras algumas dicas pequenininhas de programação dentro dos exercícios isso porque eu sempre joguei que exercício é muito importante para o seu aprendizado e se você está acompanhando o mundo três dos pais ao mundo um foram as estruturas básicas mundo 2 as estruturas de controle o mundo 3 a gente tá falando sobre as estruturas compostas nas listas as duplas os dicionários por
um assunto que a gente viu até o momento e agora durante a aula 20 a fase 20 do seu curso nós vamos falar sobre as funções mas vamos falar sobre defis do python inclusive no dia que eu tô gravando esse vídeo a gente recebeu mais de três mensagens dentro do canal dizendo assim olha eu tô com um problema na faculdade eu não entendi direito como funciona o comando do df fica tranquilo fica tranquila porque a gente está chegando eu vou te explicar a maneira mais simples que a gente conseguir eu espero sinceramente fazer o que
você entenda dessa vez e como eu sempre faço aqui nos cursos de python eu gostaria de logo no início agradecer principalmente a todo mundo que colaborou nomes estão passando aqui em baixo não passar durante toda a aula a galera que reclama falar esses nomes me atrapalham e sem esses nomes meus queridos você simplesmente não teria essa aula então não reclama o nome daqui de baixo foram de pessoas que acreditaram no curso em vídeo acreditaram que eu conseguiria criar um curso de python que realmente explicasse python a gente tem vários cursos de python e no youtube
vários cursos muito bons inclusive mas ainda assim muita gente me pedia o bárbaro preciso que você explique daquele jeitinho que você está acostumado e mostra como é que funciona o python e a gente já a taxa para um terceiro mundo 20ª aula sem exercícios obrigado a todas as pessoas que o nome foram passando aqui durante os mitos eu sempre você é muito grato a vocês você é grato também há anos cá há mais de 11 e 12 anos essa aqui ó ghostnet a hostnet ela acredita no curso em vídeo desde o início é patrocinadora ela
patrocínio também o curso de python está ajudando pra caramba gente a crescer sempre e se você querido gafanhoto quiser colaborar quiser fazer com que consegui continue sempre criando os vídeos a gente lança o curso de python aqui a gente tem notícias que a gente lançar de vez em quando vídeos de aviso espero que você seja inscrito no canal acho que aqui desse lado aqui oakley aqui embaixo clica no sininho para receber notificação e sempre que receber a notificação você assistir o vídeo porque às vezes o youtube faz assentar notifiquei o cara ele não assistiu então
ele não quer mais ser notificado e aí a galera para de receber aviso sempre que sai um vídeo novo curso em vídeo então se você quiser colaborar para que o curso em vídeo sempre continue lançando esses vídeos seja de qual assunto for além de se inscrever você pode acessar aqui ó 1 100 vídeo pontocom barra apoia ou apóie ponto mesmo barraco em vídeo lá na descrição do vídeo tem todos os links a descrição fica embaixo do vídeo você pode entrar lá e deixar sua colaboração é feita de forma mensal e lá você também pode ser
assinante se existirem vagas 2 tudo na alta o estudo a alta uma iniciativa minha semelhante ao curso em vídeo mas concursos mais completos do momento em que eu tô gravando esse vídeo a gente já tem cursos iniciados lá de programação fundamentos de programação só que com outras ferramentas um pouco mais avançadas a gente tem e hp um banco de dados desenvolvimento para android utilizando android estúdio para criar aplicativos para celular a gente tem também linguagem cotrim linguagens e sharp tradicional e além disso tudo também tem um curso com dicas para quem quer criar um canal
do youtube o dicas de edição photoshop premier a after effects e isso tudo você acessa lá no curso e vídeo pontocom barra apoia se tiver vaga lá pra contribuído ou se o site do estudo a alta já tiver com matrículas abertas se inscreve que a qualidade é igualzinho aqui do guns em vídeo se bobear um pouquinho melhor não vamos parar de papo que o assunto está aqui do lado e nós vamos falar um pouco sobre função então sente se confortavelmente porque está chegando aí a parte teórica da aula [Música] estamos aqui no nosso ambiente de
estudo o nosso quadro negro já aqui do lado e eu vou te explicar o que funde são basicamente as funções em todas as linguagens de programação elas estão vinculadas a um palavra mágica que a palavra rotina e sempre que você usa a palavra rotina você pensa numa fase sempre tem uma rotina é uma coisa que você faz constantemente por exemplo é uma rotina na sua vida acordar tomar banho e ir para a faculdade e para o colégio assistir no youtube ficar no hati zap isso tudo é rotina e quando você está programando em python você
também faz coisas constantemente no python que coisas você faz constantemente para todos os programas que você fez até agora sem exceção todos os programas que nós fizemos desde o da primeira aula até agora nós já utilizamos funções você só não sabia que ela se chamava funções na verdade a gente usava funções que já vem com o python dá alguns exemplos de algumas funções que você já utilizou várias vezes aqui com a gente olha só print o lenta saber o tamanho de alguma coisa o input o imt para converter um número por inteiro o flot para
converter o número real enfim cada um desses nomes que está aparecendo aqui do lado é uma funcionalidade é uma função então a linguagem python ela vem repleta de funções o print a coisa mais simples que você usa desde o primeiro exercício que ela escreveu olá mundo na tela o print é uma função para o python só que é uma função que já existe você não precisa inscrever o que vai acontecer quando o print foi executado só que nem sempre essas funções que estão do lado nos satisfazem por exemplo vamos imaginar que uma rotina no nosso
programa isso é verdade a gente faz várias vezes dentro dos códigos que você viu aí durante a execução de vários exercícios eu mostro mais linhas divisórias né tudo o que eu escrevo tem uma linha zinha para poder deixar a coisa mais bonitinha mas agradável a sua visão então mostrar uma linha é uma coisa que eu faço constantemente nos programas ele é uma rotina então mostrar uma linha na tela pra mim é uma rotina logo eu posso criar uma função para mostrar uma linha na tela o python ele não vem com a função de mostrar uma
lei na tela já de fábrica porque nem todo mundo tem a mesma necessidade que eu tenho sendo assim eu posso criar uma função chamado mostra a linha e essa função mostrar a linha vai fazer exatamente o que o nome sugere vai mostrar uma linha na tela eu uso bastante vários programas eu fiz a mesma coisa então nada mais justo do que transformar isso numa rotina personalizada ou como é chamado no pai tom função ou deat na verdade df é definição de função é a palavra que a gente usa para poder declarar uma função personalizada então
nosso primeira missão vai ser isso criar uma função que não existe no python mas ser personalizada a minha necessidade porque eu uso muito isso é só por exemplo já fiz isso várias vezes sistema de alunos pra mim tem que tomar em cima em baixo apareceu um título para ficar mais bonitinhos e uso em várias outras coisas por exemplo o cadastro de funcionários ou até mesmo para dar um erro no sistema então pra mim vamos imaginar pra mim isso aqui está parecendo a titular é muito importante eu preciso muito mostrar linhas na tela só que para
fazer esse tipo de coisa vai acabar sendo trabalhoso e repetitivo vai ser uma rotina namorada vou preparar esse código aqui do lado vou preparar esse texto pra ficar né apresentava em python então eu botei print em cada uma das linhas da uma analisada nesse programa que existem linhas iguais existem prints exatamente repetitivos se você analisou por pelo menos dois segundos você percebeu que o print de uma linha ele acontece seis vezes namorada eu tirei os textos que têm mais 30 diferentes daqueles tracinhos ms olha isso são seis comandos nitidamente iguais então para eu fazer aquilo
que eu tinha anteriormente eu preciso ter seis comandos iguais se eu conseguir transformar isso numa rotina eu escrevo ele apenas uma vez isso é uma rotina e isso daqui nada mais é do que uma rotina uma das soluções é otimizar mas otimizar de que maneira eu escrevo isso só uma vez então eu teria que acontecer essa lista não acontecer seis vezes dentro do programa em momentos diferentes não tô falando que é um laço não somos nós mostrar seis linhas na tela constantemente bar e seis linhas uma depois da outra se fosse isso era só botar
dentro de um maço são seis linhas que vão acontecer em momento diferente do programa então eu escrevo apenas uma vez e eu crio uma rotina pra isso chamado mostra a linha como eu faço é simples é só colocar esse comando que apareceu df mostra linha abre e fecha parêntese para dizer que é uma funcionalidade todas as funções em python elas são identificadas por parênteses no final do nome já se vai entender por que isso então botei 10 e coloquei com alimentação para dentro você vê que o prende estar deslocado para dentro eu coloquei o print
da linha e quando eu criei essa df aquele código anterior por ter ele aqui embaixo esse é o código os traços eles acontecem seis vezes eu vou fazer o seguinte ou na simplificada nesse programa eu vou tirar aquele lado todas as linhas de comando que tem os traços não vou tirar os traços tirei se eu mandar executar esse programa agora que ele tem três linhas ele vai mostrar sistema de alunos cadastro de funcionário erro do sistema senninha sem ficar bonitinho mas agora aqui em cima eu tenho uma death eu tenho uma função o nome dela
mostra a linha então agora o que eu posso fazer aqui em baixo no código eu posso fazer isso aqui está acontecendo a cada vez que eu precisar de uma linha em vez de escrever o print dessa linha eu chamo o mostra linha ea cada vez que ele precisa executar uma estrelinha a mulher aqui ó o programa vai começar ele não executa essa linha por mais que ela esteja acima ele não vai executar ele vai começar a executar nessa aqui ó mostra linha quando ele chega nessa primeira linha mostra-lhe aqui o desvio do programa vai ser
jogado lá pra cima ele vai executar esse comando e vai escrever essa linha toda e terminada de mostrar a linha ele vai voltar para a linha abaixo do chamado o chamado foi aqui onu mostra linha então ele sobe executa o print depois que ele terminar ele volta e mostra sistema de alunos chegando aqui embaixo eu tenho mostra minha de novo ele vai subir de novo vai mostrar aquela linha toda e vai voltar pra cá para baixo mas quer de cadastro funcionário e vai fazer isso várias vezes a cada vez que eu chamei o mostra linha
ele vai me obedecer e mostrar uma linha mas ainda não chegamos na parte prática da aula mas eu vou chamar que o pai charme e eu vou te mostrar como tudo está funcionando então é só eu já tô aqui com o pai charme já criei um ambiente e já tô aqui eu vou fazer o seguinte se eu quiser posso botar aqui print fazer o tracinho aqui né vou facilitar minha vida traz cinco vezes 30 o botão na primeira língua e vou escrever curso em vídeo e vou dar um presente de novo o tracinho vezes 30
quando eu executar esse programa ali botou 1-1 sim vídeo o motor assim sem problema só que aí o que a gente fez isso aqui ó se eu quiser se inscrever no curso em vídeo em baixo vou fazer a mesma coisa só que em vez de curso em vídeo do ataque aprenda ayton e no outro vou criar um com o meu nome gustavo guanabara vou executar e taió vou puxar aqui você vê eu tenho lá os em vídeo a prenda python gustavo guanabara só que eu tenho linhas não é uma linha em cima embaixo de cada
um deles porque eu fiz aqui o que eu vou fazer aqui é o seguinte eu vou criar uma sensação uma definição de função o ataque death row chamar de limpa ficar bem curtinho lincon cima de l só lembra que se a uma função tem parênteses depois vou botar dois pontos e aí eu vou fazer o seguinte eu vou pegar esse comando esse print ou tirar ele de todos eles vão tirar todos todos paguei apaguei apaguei já deixei só os três comandos e vou pegar esse comando vou colocar aqui dentro se eu executar agora como eu
tinha dito anteriormente se eu executar agora o que vai aparecer essa linha está sublinhado amarela porque o pai charme pede que entra a deat e o seu programa principal isso daqui a gente chama de programa principal programa principal no programa principal entre o df eo próprio walter duas linhas vazias danos em duas linhas vazias aí para reclamar estiver menos duas linhas ele começa a reclamar aqui uma questão estética questão de organização do seu código então botei aqui a minha défice executar agora você pensa assim ele vai escrever a linha é porque eu tenho um comando
prende aqui só que valeu a ele escreveu nenhuma vez um curso em vídeo e aprenda python estava na barba roxa mas que aconteceu que essa linha não executou acontece porque quando você executa o programa ele não executa suas defis ele só vai executar suas funções quando você chamar o cabeçalho quando se chamar pelo nome então não foi o seguinte eu vou botar uma linha que em cima em vez de colocar um print eu vou colocar um link sempre que é chamado lin ele vai fazer uma linha pró vou fazer um link em cima e nem
aqui embaixo certo na hora que eu executá-la o curso em vídeo a pena pai não gostava guanabara uma linha em cima uma em baixo todas as vezes que eu precisar mostrar uma linha eu vou botar um link ó vai fazer a os índios aprenda pai que gostava na barra tá vendo como simplificou o processo eu só escrever o código da linha uma vez botei um nome pequenininho para facilitar minha vida e aí toda vez que eu precisar ele vai ser chamado aqui embaixo cada vez achou a queima cima né ele chamou lin ele vai lá
em cima no df dolin e por exemplo se eu tirar essa linha vou tirar o death daqui tirei agora eu não tenho mais o comando chamado língua mãe vai dar erros ou executar ele deu erro porque não existe em mim no programa vou colocar de volta o código de mim nas duas linhas aqui de espaço e agora ele volta a funcionar então acabei de criar um comando novo vou botar em prática aqui né eu acabei de criar um comando novo que é o comando link sempre que eu chamar ele ele me mostra uma linha entendeu
com a ideia das funções entendeu com a idéia do comando deat ele cria comandos personalizados ele é um pouco mais poderoso que isso na verdade bem mais poderoso porque eu também posso trabalhar com parâmetros vamos voltar o quadro negro para a gente poder entender estamos de volta aqui com aquele código padrão que a gente fez na solução que eu dei até agora eu tinha sua substituição a linha só que presta atenção vou marcar uma marca que a morada nessa área se você parar para analisar é muito parecida essa área de cima que está marcada com
as outras áreas que eu acabei de apontar que então essa parte de cima ela se repete acaba se repetindo três vezes a única coisa que muda é o print do miolo que vai mostrar uma mensagem diferente existe uma maneira de eu criar um comando personalizado que se adapte ainda mais as minhas necessidades utilizando parâmetros sendo assim o que eu vou fazer é isso lá esse bloco e sabendo que só esse meu link o cabelo pintado de laranja aqui é o que muda é a alteração eu vou usar isso a meu favor então rodar separada aqui
ó separada eo deixa em branco havendo então tenho três frentes como eu tinha anteriormente o primeiro prende uma linha o terceiro prince uma linha no meio é uma mensagem que eu vou personalizar como é que eu vou fazer isso eu crio lá a minha df programa deve e aquilo que é uma função chamada mensagem e essa mensagem dentro dos parentes eu não vou deixar vazio que antes né no exercício ainda pouco eu abrir parênteses fechava parênteses agora vou dar uns passinhos e ele vai receber uma mensagem essa mensagem é que eu vou utilizar no print
do meio então o print de cima é uma linha o preço baixo uma linha o preço do meio é uma mensagem que vai vir como parâmetro e a partir de agora eu posso criar uma chamada assim ó mensagem sistema de alunos exatamente o que eu fiz aqui embaixo o texto é a mensagem sistema de alunos nesse texto e que está entre aspas que eu acabei de circular é ele que vai ser copiado diretamente para o parâmetro então a msg nesse caso vai ser sistema de alunos e aí na hora que eu mandar escrever o msg
ele vai escrever o conteúdo de ms já que o pai recebe como parâmetro e o msg é sistema de alunos deu pra entender não vejo outra maneira vou te explicar de outra maneira quando eu chamei a mensagem que é a minha função eu passei um parâmetro sistema de alunos na declaração da mensagem eu digo que eu recebi um parâmetro chamado nsg nsg nesse caso vai ser sistema de alunos é só você ver o que foi colocado dentro dos 40 existam sistema de alunos vai vir dentro a frase sistema de alunos vai vir pra dentro do
msg eu vou mandar imprimir uma linha depois eu vou mandar imprimir msg que é sistema de alunos depois humana mostrar outra linha viu eu consegui personalizar ainda mais o meu programa vamos voltar pro pai charme fazer esse tipo de coisa funcionar então a voltei aqui o meu programa e eu vou fazer o seguinte e vg ao apagar essa linha vai pagar essa minha avó pagar samaniego aparece aqui e veja e print o meu programa principal em vez de ter três frentes eu vou ter uma chamada por uma função que eu vou chamar de título até
assentar aqui que pode né então tem uma função chamada título tem ainda não vou ter que criar tão tem o título curso em vídeo título aprenda python e título gustavo guanabara esse título não existe o comando né então vou ter que vir aqui ó e criar uma função vou botar death título quando acabei de criar uma função só que ele está reclamando que ouviu ficou tudo verde título aqui não está recebendo parâmetro nenhum aqui eu estou passando um parâmetro que vou chamar que deixe ter eu vou passar um texto se viu na hora que eu
testei deixou de ficar vez já tirei ele ficou verde ora com moto xt ótimo agora está resolvido então ele vai pegar na primeira chamada que o curso em vídeo vai jogar dentro de 3 t de maconha com 30 caracteres vou mandar mostrar de novo que a gente acabou de ver o txt e depois vou mostrar 30 caracteres de novo vou dar duas linhas de espaço e no programa principal esse aqui é o problema principal basicamente é isso aqui ó os títulos e pode até optar isso aqui também você olhar aqui no país charme você tem
essas setinhas aqui que eu consigo contrair né se consigo apertar o código aqui porque nem sempre é necessário ficar visível então ela agora na hora que eu faço isso eu vou fazer só com o tirar essas duas linhas aqui quando chamar que o título ele vai passar o curso em vídeo como parâmetro o curso em vídeo vai vir pra dentro de txt2stop ver uma linha o txt que acontece em vídeo e outra linha na hora que eu executar o inscreveu os em vídeo ou até omitir que o código estava deixar que o encolhido se eu
executar título com qualquer outra coisa boa aqui então é muito bom reclamação é o executar ela o curso em vídeo python é muito bom se viu então o meu comando o título agora ele mostra sempre uma linha uma em cima e embaixo e uma mensagem no meio é a mensagem que eu colocar aqui inclusive o título lá palavra oi bem pequenininha lá os em vídeo país é muito bom oe percebe aqui que a linha sempre do mesmo tamanho meu código a linha sempre tem 30 caracteres inclusive vai ter um exercício aqui que essa linha vai
se adaptar ao tamanho da frase depois disso vai fazer e deixem de chegar na parte de exercícios mas eu espero que você tenha entendido aqui o meu problema principal até dava escondido aqui ó seu próprio espaço aqui só isso o programa tem título com 100 vídeo título python é muito bom e título e só que a palavra título não é um comando que vem no python de fábrica mas agora eu consegui definir uma função combater o défice eo nome da função que vai conseguir fazer com que título seja um comando reconhecido pra esse meu programa
depois eu vou te ensinar a fazer modularização do python é que você jogasse aqui em outro lugar mas fica tranquilo que a gente vai ver avançando aqui no nosso curso então espero que você tenha entendido que eu tenho esse título aqui como uma rotina algo que acontece constantemente nos programas coisas que acontecem constantemente o ideal é eu criar uma função exatamente como eu fiz aqui e aí conseguiu entender funções sem parâmetro e funções com parâmetro se ainda não conseguiu não tem problema você sempre tem a opção de voltar um pouco no vídeo assistir de novo
a explicação ou então no momento que a gente chegou agora a parte prática da nossa aula ó é vamos começar nossa parte prática fazendo alguns exemplos do nosso dia-a-dia feitos com funções e uma das dúvidas mais comuns do aluno em sala de aula assim agora mas pra que eu preciso de uma função se eu consigo botar o código dentro do meu programa muito difícil a gente conseguir visualizar isso numa aula porque os programas são sempre pequenininhos você só vai começar a ter utilidade para funções quando seus códigos ficarem muito grandes e repetitivos é basicamente isso
sabe quando a mulher chega para a senhora o nosso relacionamento virou uma rotina aí você tem que dar um jeito de resolver é a mesma coisa quando o seu programa começar a ter coisas repetitivas quando sua programação virar uma rotina você tem que resolver também para você não ficar cansativo escrevendo códigos várias vezes o copiando e colando você escreve uma vez só e aí tudo fica resolvido vamos fazer alguns exemplos utilizando funcionalidades em python já estamos de volta aqui ó de uma limpa no país charme e não foi o seguinte aqui vamos imaginar um programa
onde o bota assim a recebe 4 b recebe 5 s recebe a mais b aí eu escrevo s aí depois eu boto a recebe 8 e b recebe 9 bota oeste recebe a mais b que escrevo essa de novo quando boto a recebe 2 e b recebe um sms é bi a mais de 1 e depois print essa namorada aqui cinco com 49 não vai aparecer 9 nesse print 8 com 9 a 17 ele vai aparecer 17 aqui 2 com 23 ele vai escrever três aqui na hora de executar o ele mostrou 9 e 17
e três sem problema a diferença é o seguinte ó lá tem uma separada aqui são três programas quase iguais são três trechos quase iguais op esse trecho esse trecho esse trecho então basicamente eu posso me tornar menos repetitiva aqui na verdade eu quero somar 4 com cinco então eu falei o seguinte aqui eu quero somar 4 com cinco então foi o seguinte ó soma 4 com cinco pra mim seria ótimo se tivesse um programa desse né aqui por exemplo 819 vou tirar isso tudo vai substituir porto soma 89 viu como não é uma necessidade comum
a todos os programadores mas pra gente a gente precisa muito dessa solução aqui eu quero tomar do tipo 1 soma dois pontos então esse meu programa principal né é o meu problema principal não colocar aqui o comentário programa principal sempre identificou o problema principal opções no início da aac eu tenho o comando soma 415 depois são 89 depois soma 2 com um obviamente se eu executar ele vai dar erro meu erro porque não existe em python comando soma mas você pode criar personalizar você pode definir soma já que o pai não sabe que é soma
eu defino python efe soma a soma vai sempre receber dois números a idéia era que ele estava fazendo antes receber ou daquele espaço na equipa e não reclamar e eu vou fazer o seguinte ó todas as vezes todas as vezes que o chamou soma eu vou pegar o oeste vai ser o valor de armas ou de b que é o que a gente tinha alguns segundos atrás e depois do gol o corinthians viu como ficou mais fácil a minha programação então aqui ó lembrando você tem que dar duas linhas entre qualquer death e qualquer outra
df ou a sua df e o código principal se você tirar uma linha que ele já vai começar a chiar trânsito sublinhou a minha aqui diz que está muito perto tá muito grudado e agora sim está e queria se esse espacinho no final da reunião dessa linha no final e fica reclamando do ali ele para reclamar a mesma coisa que precisa de duas linhas aqui de espaço preciso ter duas linhas de folga aqui para eu poder trabalhar isso a idéia do python de deixar os o código mais livre é sublinhado de verde aqui significa que
o pai charme não reconheceu a palavra soma é porque está em inglês então a palavra suma uma palavra que ele não reconheceu agora seu executá lá ele vai executar exatamente a mesma coisa 9 17 3 que era o resultado de antes só que agora eu fiz de maneira bem mais simples esse código aqui não me importa ficar olhando ele toda hora então dá uma corridinha aqui ó e pronto eu acabei de definir o comando soma e esse comando soma tá sendo usado aqui embaixo deu para entender então eu passei sempre isso aqui ó 4 e
5 892 e um é o que a gente chama de parâmetros então estou passando parâmetros e aí vem uma observação importante se por acaso eu chamar aqui ó soma já quatro vamos executar onde ele vai fazer ó ele deu erro porque soma quatro e deu erro porque na verdade a soma recebe dois parâmetros e aqui eu tô passando um parâmetro só então basicamente eu tenho que alterar a botar mais um aqui sala quarto com 165 no final vai mostrar 59 17 3 e 5 então sou obrigado a colocar dois parâmetros outra coisa que eu posso
fazer é o seguinte olha só uma 415 eu posso explicitamente dizer olha esse 4 aqui é o a esses 5 aqui é o b então bota aí o a4 bebo há cinco é que vai fazer a 9 se por acaso eu quiser mudar eu posso fazer que esse seja o bebê e que esse seja a sem problema nenhum eu posso mudar a ordem contanto que os princípios aqui ó vamos fazer o seguinte eu vou fazer assim a 4 e 5 vamos votar o código aqui e antes de fazer a soma eu vou dar um presente
aqui ó frente formatado botar a igual a aabb igual a ab só pra ele fazer aqui a soma vale a soma a mais b igual ao valor de s a dar uma olhada aqui no código aos o vídeo se precisar e bota pra rodar no seu computador o ideal é sempre isso você já assistiu no celular assistindo tablet ou no seu próprio computador numa outra aba vai lá no baixar me faz na sua casa é aquele esquema que já falei pra você não adianta você não sei andar de skate eu vou ficar assistindo 200 vídeos
de gente andando de skate eu vou aprender não vai só vai aprender quando se fizer a mesma coisa programação você não sabe programar não adianta ficar assistindo 200 vídeos de pessoas programando você não vai aprender a programar só olhando você tem que fazer também iguais quente né vou rodar e vai fazê-lo o a4 bairro há cinco a somar mais b e igual a 9 tranquilo então a e b se eu fizer isso aqui ó a igual a 4 b que bola 59 executar o resultado mesmo aí o a4 meio assim mas o mar mas b9
mas eu posso trocar o aluguel sem problema beijo a 4 a 5 vamos executá la u assim obrigou a 4 ao ai-5 tranquilo eu mudei a ordem aqui agora se eu disser por exemplo se eu disser que o b4 e botar só cinco assim ele vai reclamar né não é inteligente o suficiente para dizer sim eu preciso de 2000 4 logo o ai-5 não funciona assim infelizmente não se você vai explicitar você precisa explicitar dessa maneira e se por acaso você não explicitar ó lá 7 e 2 eu não explicitar o primeiro valor vai para
dentro de área e o segundo valor vai para dentro do bb existe uma cópia desse valor é executar itaó a é 5b 4 o resultado desse primeiro soma e aqui ó e 7b 2 o resultado dessa segunda soma então eu estou fazendo funções passando parâmetro pra dentro da soma neto chamando aquela passado 4 b passando cinco pro ar e fazendo a função agora eu tô passando 7 pro ar então passando de 2 para o bebê e ele vai fazer a conta também e mais uma vez se por acaso eu botar soma só uma pra mim
39 e 51 qualquer muito somar esses três números a minha função será que ela vai me atender vou executar ele deu erro porque ele deu erro eu aqui estou passando 3 953 vai pro a 19 vai pro b esse 5 vai pra quem eu não tenho espaço para colocar aqui se eu estou dizendo aqui em cima da minha definição que soma vai receber dois valores soma tem que receber dois valores se eu passar três obras meio ambiente ele vai daí só que o pai então como uma linguagem moderna e que quer ajudar você na vida
tem o conceito de empacotar parâmetros vamos aprender como ele funciona já já a gente volta pra aquela funcionalidade de soma pra gente botar em prática mas eu vou te ensinar um negócio aqui vamos imaginar que eu tivesse uma funcionalidade chamada contador eu quero contar quantos números foram passados então voltei lá contador 5 7 314 eu passei 57 31 e 41 passei cinco números então os contadores e olha você me passou cinco números se eu chamar seu contador assim ó 847 agora estou passando três números então contador falar agora em passa três números a maioria das
linguagens de programação não permitem você fazer isso o pai não permitia a gente chama isso de empacotamento vamos entender melhor como funciona o nome da minha função está aparecendo aqui do lado é contador então não tem criar um défice contador como eu até fico computador na hora de colocar os parâmetros e os parênteses então né vazios o que eu boto no primeiro tempo cinco parâmetros no hotel três que eu faço na verdade se vai fazer isso aqui ó bota um asterisco e bota o parâmetro no que significa esse asterisco esse asterisco é o símbolo de
desempacotar então na verdade que você está dizendo que o python o cara vai passar vários parâmetros aí eu não sei quantos são são vários você vai pegar tudo isso e jogar dentro de mim você passar um parâmetro só jogador denuncie passar 10 mil parâmetros joga dentro também quer uma olhadinha vamos voltar no país charme vou voltar aqui vou fazer o seguinte que vamos fazer o lance do contador é contador botar aqui com 2007 o teu computador com 80 e vou ter o computador com 44 76 e 28 têm o computador várias formas de passar parâmetro
é que ele está reclamando que depois da vírgula eu não dei espaço vão criar o défice o f contador e aí eu sei que eu vou receber vários números eu vou pegar esse número e vou botar um asterisco na frente estou dizendo que o pai então olha vou receber parâmetros quantos não sei se virá aí se eu mandar mostrar aqui ó seu mandar um print no um ver o que acontece a reclamar aqui que não tem dois livros né então mandei contador 1 3 contador com 2 contador com cinco vamos executar a ló ele me
criou uma tupã né viu isso durante esse mundo se você não lembra você tem que assistir vídeos de dupla tudo aqui em cima você vê aquele interatividade clica nele vai ter as aulas no mundo 3 daquela do mundo 2003 a dupla está no mundo 3 que é exatamente esse você está assistindo vai lá se você não não lembra como funciona ele quer uma dupla com todos os valores e aí eu consigo por exemplo fazer tudo o que eu posso fazer com o tupã botar aqui por exemplo um fórum para cada valor e num mostrar demonstrá-lo
ó lá podem mostrar eu vou fazer o seguinte aqui um botão valor e voando não mandar quebrar a linha e vou quebrar a linha só depois no final efe otp 217 fim aquele botão formar na formatação aqui com um espacinho ela 217 fim 20 fim 44 762 fim ela tá tudo aqui eu consigo fazer por exemplo mostrar que o tamanho vai ser o leão de novo o leite não é quantos elementos ele tem é a gente já viu isso durante a aula também posso dar um print assim é formatado recebi os valores num e são
ao todo tam números que a tutela vão executar a receber os valores estão tão e são ao todo três números receber os valores 80 e são ao todo dois números esses valores 44 762 e são ao todo cinco números então eu consigo é isso eu criei o contador e criei uma função padrão que vai mostrar os números na tela e também contar eles obviamente eu não fiz um laço para mostrar bonitinho deixei aqui sem nada mas dá pra fazer bonito também viu qual é o potencial das funções dentro do python e não para por aí
cara essa é só a primeira aula de funções vou te mostrar só mais uma tarefa que a gente pode fazer em vez de trabalhar com as duplas que são meio limitadas porque não podem ser alteradas a gente também consegue trabalhar com as listas por exemplo aqui você viu durante as aulas de listas se não viu já sabe aqui em cima da minha cabeça tem sempre as aulas lá do mundo três vão vir aqui ó acabei de criar uma lista valores a vantagem da lista é que ela é alterável quando eu faço esse tipo de declaração
eu pego os valores 7250 e quatro que são os valores só para estar aqui do lado e coloco dentro de uma lista de uma variável composta de uma variável única que tem vários valores dentro dela esses valores são identificados por índices que vão de zero até o número de índices número de elementos que ele vai ter a qualquer momento eu posso por exemplo tão print esses valores sem problema nenhum e se eu quisesse que essa lista a lista valores com 72 50 e 4 fosse dobrada isso é o set fosse dobrado verás 14o dois fosse
dobrado irá 415 também grava 10 e assim sucessivamente poderia ter um comando chamado dobra valores poderia dobrar os valores que estão na minha lista isso não é padrão não é normal mas vai que na minha situação eu preciso isso com uma certa freqüência e isso se torne uma rotina na minha programação eu posso criar aqui é uma funcionalidade própria pra mim pra fazer isso eu faço exatamente que está aqui do lado eu criei df dobra e se a falar tá bom mas você vai empacotar desempacotar não precisa já que a lista já é uma variável
composta eu posso passar a lista em cima então a dobra a minha função da obra que está aqui em cima da minha cabeça ela vai receber uma lista então chamei de lst que eu posso fazer o que quiser por exemplo gravar eu posso que começa na posição 10 e enquanto a posição foi menor do que o tamanho da lista a gente viu isso durante a aula de lista você se enrolar com isso o seu problema não é com função é com lista volta nas aulas anteriores e assistir às aulas de lista de novo com certeza
se você assistir às aulas e fizeram exercícios de lista você vai entender tudo bonitinho então coloquei ali enquanto a oposição foi menor do que o tamanho da lista eu vou fazer com que a lista na posição atual receber o dobro dela vezes igual a 2 depois eu faço um poste recebe pode mais um e ao executar essa tarefa eu dobro os valores do vetor vamos voltar lá no país charme e fazer exatamente essa solução já estou aqui e vou fazer a minha lista vou botar aqui ó valores igual eu vou colocar aqui a minha lista
lá computadores diferente do que estava na natureza chutar valor aqui beleza porque os valores lá agora eu consigo perceber um print em valores ele vai mostrar ó 639 102 exatamente a lista que eu criei aqui em cima só que antes de mostrar os valores eu vou dobrar dobra valores e dobra não é uma funcionalidade padrão já ficou vermelho aqui vou criar aqui em cima death dobra esse df de obra vai me receber uma lista chamada dst pode chamar o que você quiser chamar de st uma lista que eu vou fazer a mesma coisa eu acabei
de fazer chegar ao pódio a 0 enquanto o pós for menor do que o tamanho da lista st eu o dobro lst na posição pós vai receber o dobro então vezes igual a 22 pontos aqui pois não faço pós mais igual que o pó já sabe pode mas o que vai acontecer aqui eu passei como parâmetro valores então vai criar uma linha valores e ele vai passar aqui pra cima pra st nesse momento eu vou ter duas listas na memória uma lista chamada valores e uma lista chamada st tudo o que eu fizer em st
vai interferir em valores diretamente vamos ver funcionando não é só se eu por acaso chamar o dobra valores ele vai pegar vocês vai dobrar pegar 3 vai dobrar pegar 19 para dobrar e assim sucessivamente vamos executá lá ó 12 16 18 20 que é o dobro de 04 de outubro de 2000 ele vai pegar seis dobro de 6 12 19 que o dobro de 9 18 ele dobrou se você é um gafanhoto mais experiente você aprendeu programação fundamentos de programação você vai perceber que para o python toda a passagem de parâmetro é por referência diferente
de outras linguagens como sejá vá onde a passagem de parâmetro por valor mas isso é papo só ter um pouquinho mais experiente para você que tá começando a aprender aprendi desse jeito aqui que assim que o pai não funciona então tudo o que eu fizer em st vai interferir na minha lista valores isso não é um desempata mento é a desempacotar é aquilo que eu tinha feito anteriormente o prometido é voltar vamos voltar a fazer aquele som mala eu quero somar 5 com dois depois eu quero somar 2 com 9 com o 4chan eu tenho
a minha função soma sendo chamada de formas diferentes o que eu vou fazer aqui é criar um death soma e eu vou botar aqui que eu vou receber vários valores é tão baixos valores e aqui eu posso desempacotar ele desempacotar como para cada número em valores só tacada elemento nos valores vou colocar aqui a soma recebida 0 para cada número valores eu faço soma mais igual á num inscrever aqui ó cliente somando os valores valores temos a sonda certo deixar aquelas duas linhas que vão reclamar e vamos fazer vamos fazer funcionar o que eu tenho
duas chamadas para cima consigo com 2 com 2 194 executando eu tenho somando os valores o papa voltou formatar né faltou fc aqui executando somando os valores 52 temos 7 somando os valores 294 temos 15 então isso daqui é desenho o tratamento que a gente acabou de fazer também com listas é uma outra técnica todas as duas são válidas em python em algumas situações é melhor você usar o desempenho andamento e outras situações é melhor você usar a lista e por falar em situações em co cada um vai ser utilizado chegou o momento mais esperado
nem todo mundo espera não mas é o momento mais importante da nossa aula a hora dos desafios ae [Música] [Aplausos] chegou a hora de colocar os seus conhecimentos a prova e eu vou te dizer o seguinte esses exercícios que a gente vai ver a partir de agora eles têm algumas funcionalidades não com função com função te ensinei tudo tem alguns mas e tínhamos algumas coisas extras que eu estou colocando nos vídeos de resolução de exercícios isso para incentivar a você além de ver a aula ver os exercícios também a partir de agora a gente vai
ter alguns command us algumas frescuras visuais diretamente só nas aulas de exercício então elas também fazem parte do conteúdo no vídeo anterior que a aula 19 se você se lembra bem a gente parou no exercício 95 o que está vindo aí é um exercício 96 que pede o seguinte faça um programa que tem uma função chamada área que receba as dimensões de um terreno largura e comprimento um terreno retangular e mostre a área do terreno vamos ver esse exercício funcionando então a voltar a rodar aqui e voltar o controle de terrenos largura largura do tempo
o botão um terreno de quatro metros e meio e o comprimento é de 8 metros ele vai mostrá-la área do seu terreno de quatro e meio por 8 é de 36 metros quadrados eu quero que você analise e essa conta que é essa mensagem é feita através de uma função esse é o exercício mais simples dessa playlist mas precisa ser feito ou função se por acaso você não conseguir é só você ver na nossa playlist a resolução do exercício 97 exercício 96 pra conta espero que você consiga fazer treinar se não conseguir a resposta vai
estar lá mas tenta fazer sozinho tenta fazer sozinho vamos agora por exercício 9797 é o seguinte faça um programa que tem a função chamada escreva para aquela função do início da mensagem que a gente fez vai ter o comando escreva e não escreva vai receber um texto qualquer como parâmetro e mostrar na tela com o tamanho adaptável por exemplo se eu botar lá mundo com uma frase pequena as linhas de cima vão acompanhar o aluno lembra do início do incidente fez vou botar esse exercício 97 aqui pra funcionar ea gente vai ver o comportamento dele
não é só vou rodar com 97 do apertar o play ele mostrou a ó eu passei três mensagens 11 escreva gustavo guanabara escreva curso de panetone youtube inscreva serve que é pequenininho você vê que a linha de cima olha de cima ea linha de baixo elas acompanham o tamanho da mensagem também se a mensagem é grande a linha fica grande se a mensagem é pequenininha a linha fica pequenininha como é que você vai fazer esse negócio quebra-cabeça racha com o cair porque eu quero esse resultado na tela tudo com função esse também é razoavelmente fácil
tem uma uma jogadinha a jogada rápida que vou te mostrar na resolução também se você não conseguir fazer vamos partir agora para o desafio 9898 ele pede o seguinte ó faça um programa que tem uma função chamada contador que receba três parâmetros sempre três para um ano difícil não vai fazer desempacotamento ainda não início fim e paço e realize a contagem seu programa tem que realizar três contagens não vai fazer sim a contagem de 1 até 10 pulando de um então assim o início vai ser 11 final vai ser 10 e o passo e se
um dia você vai fazer uma contagem de 10 até 0 voltando de 2002 e depois de uma contagem personalizada onde o usuário vai digitar o início o fim o passo e o seu programa tem que funcionar vamos rodar ele e ver o que eu vou te mostrar exatamente que tipo de funcionalidades eu preciso que seu programa que a sua solução tem 98 aqui rodando vou apertar o play e vai fazer uma contagem de 1 até 10 por onde um e vou fazer de 10 até 0 voltando de dois em dois depois ele vai me perguntar
então aperte o play ou a contagem de 1 até 10 de um velho está fazendo a contagem 1 2 3 4 5 6 7 8 9 10 fim após contagem de 10 até 0 a 0 voltando 22 agora é sua vez de personalizar a contagem quero contar de 10 até 100 aumentando de 88 por dar entre vai fazê-la contagem de 10 até 108 8 10 18 26 32 na 9098 acabou certo funcionou pode parecer que o programa é fácil pode parecer sá esse é moleza desse jeito que eu fiz é realmente moleza agora eu quero
que o programa funcione na contagem personalizada essa tua função de contagem ela tem que funcionar de várias maneiras esta através do seu programa está funcionando assim eu botar um início maior por exemplo era de 90 até 40 voltando de 77 do total de dez em dez de 90 até 40 de 10 em 10 a 90 80 70 50 40 e acabou tranquila primeira situação outra situação que eu quero s seguinte s o valor do paço for negativo ou 0 o seu programa também tem que funcionar então olha só o início se eu botar lá 20
o fim é 10 eu quero voltar de um ataque menos um o seu programa também o seu programa tem que funcionar comum que é o normal e com menos um que é o voltando-se para raciocinar eu quero voltar e ter vontade - uma contagem de 2010 de 11 ela não apareceu menos um aqui precisamos um aqui foi matado e o sistema aqui tá funcionando outra coisa que eu vou fazer a última situação que eu quero que funcione também na sua casa se por acaso o cara não botar o passo se ele botar o papo 0
até lá vou botar o seguinte aqui olha a gente vai se comportar quero fazer de 5 até que mudar de 5 até menos 5 e aí eu vou botar para 10 isso vai dar problema começou a contar de 5 até menos 500 não existe 003 vai considerar de um separar se o número for negativo ele transforma em positivo mas se for zero se passa 10 que vai transformar de uma contagem de 5 - 5 - 1 porque não tem como contar de 0 a 0 ele fez a contagem de 5 - 5 voltando de um
empresa então seu programa tem que se comportar exatamente da maneira que eu acabei de demonstrar que então esse desafio 98 está aqui do lado parece fácil à primeira vista mas depois vai ver que ele vai começar a te dar um pouquinho de dor de cabeça mas é difícil de fazer não e se for difícil não tem problema a resposta está no vídeo na resolução do exercício 98 é só você acompanhar um parte aqui para o exercício 9999 a gente vai utilizar o desembarque o talento de parâmetros faça um programa que tem uma função maior se
você chamar maior que receba vários parâmetros pode ser um país e dois pode ser 50 por 19 mil enfim vai se chamar o maior com vários parâmetros ele vai conseguir ser capaz de analisar todos eles e dizer qual deles é o maior qual foi o maior valor passado vamos rodar esse programa e vem funcionando lá exercício 99 na tela vou apertar o play aqui e eu chamei o maior de várias maneiras a primeira vez eu chamei o maior 29 45 1 e analisou diz que foi informado seus valores eu quero saber quanto vão estar informados
e qual foi o maior maior foi 9 depois eu chamei ela de novo passando 470 ele me disse que foram passados três valores ao todo e que o maior 67 depois eu passei só dois valores ele disse que o valor maior valor foi 2 em que foram dois valores depois eu passei só sei que foi um valor repassado o valor só é o maior realmente ele é único se eu não passei nenhum ele vai dizer se foi um ou nenhum valor e uma ao valor não existe é zero beleza então isso aqui a cada uma
dessas linhas aqui foi uma chamada que eu fiz a função maior e quando do playoff você percebe que ele vá analisando esperando um pouquinho entre um e outro e não está fazendo isso na sua casa inclusive teve algumas alterações no pai charme das versões anteriores para a versão atual no momento em que eu tô gravando esse vídeo é a versão 2018 ponto 2.3 teve uma mudança uma pequena mudança a gente vai ter que utilizar o flash dentro do print eu não ensinei durante a aula mas eu vou ensinar isso durante a execução desses exercícios que
precisam do time de ficar esperando usando a função slick mas pra isso pra primeiros você precisa ver os vídeos de exercícios então concentração faz o exercício 99 também estamos chegando agora no centésimo exercício é ó o tão esperado exercícios em não sei por quem mais gosta no meu gosto bastante esses números redondos que parece que tem alguma importância e desafios fez o seguinte faz um programa que tem uma lista chamada números e vai criar uma lista e duas funções uma função chamada sorteia e outra função chamada somapar a primeira função que a sorteia vai sortear
cinco números e colocar dentro da minha lista então vai preencher a lista com cinco números aleatórios a gente já fez isso também dentro do curso várias vezes inclusive a colocar na lista ea segunda que a função disso uma pá vai mostrar a soma entre todos os valores para os sorteados pela função anterior vamos rodar ele e ver funcionando então a já estou aqui com exercícios em vou rodar ele basicamente vai sortear cinco números botar dentro da minha lista e depois fazer o processo de somar vamos lá vamos aos poucos sorteando cinco valores sorteou somando os
valores 5 10 13 e 3 foram os valores sorteados temos 10 10 é a soma dos valores paris só 10 é para que o solo como fazer de novo sutil 98 2 2 e 3 agora eu tenho 82 e 28 com 2 10 12 12 beleza a soma 12 vamos mais uma vez só ele está sorteando são duas funções uma função faz essa parte de cima que sorteia e outra função fazer essa parte de baixo que soma só os pares dessa vez eu tenho 26 e 46 com 4 a 10 com 2 mais uma vez
o valor 12 então eu quero que esse seu programa tenha duas funções e faça isso tudo funcionar se você fica com dúvida não tem problema nenhum você pode ver o vídeo inclusive o exercício sem é o último exercício dessa nossa aula então é isso me despeço por aqui você tem um monte de exercício para fazer assentar as práticas para fazer ea gente não chegou nem perto de terminar a parte de funções dentro do nosso curso de python funcionalidades em python em qualquer linguagem de programação são coisas muito importantes volto a dizer quando o nosso programa
começa a ficar muito grande muito inchado com muitas funcionalidades essas funcionalidades começam a se repetir viram rotinas e toda a rotina pode ser transformado em uma função mais uma vez gostaria de agradecer a sua audiência você vir aqui assistir seu vídeo você estudar você praticar parabéns também pela iniciativa de aprender a programar e eu queria agradecer a todos mais uma vez todo mundo que fez a colaboração mais de mil pessoas que colaboraram para que esse vídeo pudesse ser gravado tem gente que reclama que ficam me passando embaixo fica atrapalhando não está atrapalhando fim sem essa
galera que passou aqui durante a aula inteira você não teria 20 aulas de python gratuitamente para você essas mais de mil pessoas colaboraram para isso existem outros projetos que estão ativos se você quiser ser um dos colaboradores constante sac do curso em vídeo é só acessar aqui o curso em vídeo pontocom barra apoia ou apóio ponto mesmo bairro em vídeo lá na descrição do vídeo tem isso se inscreva no canal abrir-se nem compartilha com as pessoas a assistir ele diz que a gente coloca no final do nas playlists e tal o sim de interatividade a
gente tem muita coisa que a gente o canal do curso em vídeo não surgiu agora muita gente está começando a conhecer o curso em vídeo a partir das aulas de python mas saiba que a gente tem muito mas muitos cursos aqui dentro desse canal espero você de volta nos próximos vídeos os vídeos da solução dos exercícios vão começar a sair agora com o decorrer do tempo pode ser que quando você está vendo este vídeo todos os vídeos já estejam disponíveis ainda não estão é só aguardar um pouquinho que já já eles pintam por ele aqui
dentro do youtube obrigado hostnet pelo patrocínio constante do site se você tem um projeto que vai rodar python e tels pela reforma de site pode entrar em contato com a ge.net ele já tem hospedagem de site em pai compatível o django ou e vários outros fenômenos que você quiser eu me despeço por aqui mas fica o convite assista a outros cursos do curso em vídeo um grande abraço boas práticas em python ea gente se vê no próximo vídeo cacau [Música]