E aí o Olá alunos nesse vídeo nós vamos falar um pouquinho mais sou umas características muito importantes do Pai então como expressões operadores de atribuição funções Integradas e a parte de entrada e saída de dados como que é feita na linguagem Python dentre os tópicos que nós discutiremos nós temos expressões aritméticas operadores de atribuição precedência e associatividade operadores avaliação de expressões que a forma como o país não consegue avaliar uma expressão quando você escreve assim táxi dele corretamente funções Integradas entradas ele dados e alguns tipos de erros são os mais comuns com está começando a
aprender uma nova linguagem dentre os nossos objetivos nós temos relembrar o que é uma expressão conhecer os operadores de atribuição composta compreender o conceito de precedência e associatividade dos operadores a entender como o pai tem uma Vale expressões utilizar funções Integradas o Python obter e exibir dados para o usuário então nós obtemos das usuárias são centradas e como nós mostramos para o usuário esses dados foram processados de alguma forma que são nossas saídas a conhecer os tipos de erros mais comuns em programação nesta tabela nós temos uma parte dos operadores de atribuição do pai tão
reparem que o Python não tem apenas um operador de atribuição essa que operador de atribuição simples mas nós temos operadores de atribuição um pouco mais complexos são os operadores compostos também chamados de atribuição aumentada ou atribuição com emissor e atribuição composta nessa continuação a tabela nós temos outros operadores de atribuição composta no Python mesmo assim não é o conteúdo inteiro de operadores compostos Temos vários outros em Python esses basicamente são os operadores de atribuição composta aritméticos O que são expressões uma expressão é uma combinação de operandos com um ou mais operadores e que resulta em
um valor assim como aquelas expressões matemáticas nos conhecemos e os operamos podem ser por exemplo constantes ou variáveis a combinação de operandos e operadores deve ser válida eu não posso por exemplo que ele é uma expressão em que eu só tem a operadores e nenhum operando nós podemos usar parênteses como na matemática então por exemplo eu posso escrever a expressão 2 + 5 Isso é uma operação de soma e entre parentes com isso poderia fazer também na matemática um tópico importante não só em Python mais em quase todas as linguagens de programação é a precedência
e associatividade dos operadores a precedência dos operadores indica Qual que é a prioridade que o operador possui em relação aos outros operadores na mesma expressão assim como na matemática onde o operador de multiplicação tem uma prioridade maior que operador de adição por exemplo nessa expressão 2 + 3 x 5 qual será que o resultado Será que eu somo o dois com três que Vai resultar em 5 e multiplico 5 por 5 E se for essa ordem o resultado seria 25 porém como a multiplicação tem uma precedência maior do que a edição por mais que ela
apareça depois a expressão primeiro nós executamos a multiplicação que é três vezes cinco resultando em 15 somamos dois e o resultado é 17 você pode inclusive testar isso na Shell do Python no próximo exemplo nós temos o 2 + 3 x 5 porém agora o dois mais três está entre parentes e o parentes e tem um papel especial na linguagem Python assim como diversos linguais que é aumentar a precedência naquilo que está entre eles então o dois mais três por mais que a operação de cisão tem uma precedência menor que a operação de multiplicação na
presidência natural menor com o parênteses ela fica com maior prioridade então 2 + 3 5 x 5 resulta em 25 além da preferência nós temos o conceito de associatividade associatividade é uma propriedade que define como operadores de mesma e devem ser agrupados caso estejam na mesma expressão e sem parentes que determinem a ordem da avaliação e Aqui nós temos um exemplo é para em que nessa expressão 8 / 4 x 2 Nós temos dois operadores que tem a mesma precedência a divisão e a multiplicação Só que nesse caso a precedência não pode ser usada então
nós temos que usar a associatividade em situações em que a precedência simplesmente não basta é necessário nosso avaliar mos uma expressão considerando a associatividade o que que essa atividade a propriedade que define como operadores de mesma precedência devem ser agrupados caso eles estejam na mesma expressão e sem parentes que determinem a ordem prioritária de avaliação Veja por exemplo nessa expressão nessa expressão nós temos oito dividido por 4 x 2 reparem que se nós não soubermos Qual que é a regra de associatividade isso Poderia gerar dois valores diferentes poderia ser o quatro caso avaliação fosse feita
8 / 4 que resfriado o x 2 daria quatro ou se nós começássemos pela multiplicação primeiro seria o quatro vezes dois que seria 88 / 8 resultaria em nós temos a seguir uma tabela com os operadores e as respectivas precedência e associatividade deles Isso vai nos dar certeza por exemplo que o resultado aqui realmente é quatro reparem que a ordem que foi executada essa expressão vai ser primeiro 8 / 4 depois resultados machucado por dois bem essa segunda expressão nós temos aqui dois operadores de exponenciação nós temos aqui o 2 elevado a 1 e 1
elevado a 2 A questão é qual operador ou Qual parte da expressão vai ser avaliada primeiro primeiro será 2 elevado a 1 que resulta em dois e esse 2 elevado a 2 queijo tem quatro o primeiro nós executaremos um elevado a 2 queijo tem um e o 2 elevado a 1 que resulta em dois bem pela a precedência do operador de potência nós não conseguimos concluir nada porque nós temos dois operadores idênticos aqui então nós precisaremos das regras de associatividade então o operador de exponenciação ele tem associatividade a direita ou seja o operador a exponenciação
e a direita vai ser usado num e então será um elevado a 2 queijo tenho e esse 2 elevado a 1 que resulta em dois mas notem que eu ainda não mostrei a tabela com a precedência e com a associatividade dos operadores ela está aqui é para em que nesta tabela nós não temos todos os operadores de Python mas temos todos os operadores que nós vimos até o momento e reparem que aqui nós temos o operador a descrição e a associatividade de cada operador que está naquele respectivo grupo preparem que todos os operadores que estão
no mesmo retângulo tem a mesma precedência e obedecem uma certa regra de associatividade à direita ou à esquerda ou não são associativos e Aqui nós temos um exemplo eu peço que vocês têm esse exemplo e tem tem calcular Qual que é o valor do S sem o Python dar a resposta primeiro tente você sozinho e na sequência assim comprove executando isso na Shell do Python Outro ponto muito importante a linguagem façam são as funções uma função ela é uma sequência de instruções que executam uma tarefa específica e nós damos um nome para essa sequência de
instruções ele tem funções no Python que são Integradas quando elas acompanham a linguagem de programação propriamente dita então disponíveis a qualquer momento nós temos as funções importadas quando outros programadores desenvolveram funções e colocaram em bibliotecas e liberaram para que pudesse usar mediante uma importação o e temos funções que os próprios programadores no caso nós construímos o nosso código-fonte algo muito importante na linguagem é o comando ou a função que permite a exibição de dados nós vamos de saída de dados no pai então a saída de dados ela é feita com a função print e reparem
que essa primeira instrução nós temos um print Hello work Assim como nós fizemos Em momento anterior e reparem que aqui no caso o print tem apenas um argumento O que seria um argumento o argumento é o valor que eu coloco entre os parentes de uma função a função como nós falamos o caso o print é uma função embutida porque ela já está disponível na linguagem a qualquer momento e nós temos um outro exemplo de print agora nós temos dois argumentos esse primeiro e o segundo como que nós sabemos sua função tem mais de um argumento
quando a função tem mais um argumento esses argumentos são separados por, então Aqui nós temos o primeiro, o segundo o resultado dessa operação é a exibição de dois mais dois quais tringue o sinal de igual e o resultado da avaliação da expressão 2 + 2 que é quatro por fim nós temos aqui um outro print esse print tem três argumentos reparem que ele tem uma stringhi uma operação e também nós temos aqui uma outra stringhi resultado da execução disso são exibições de três valores no mesmo comando na mesma chamada a função algo complementar a saída
de dados é a função para entrada de dados forma que o usuário consiga inserir dados para personalizar cada execução do programa em Python a entrada de dados é feita com a função input é só embutida da linguagem reparem que nós temos aqui uma instrução onde a variável nome recebe o input e cinco ti tá pedindo para o usuário colocar algum nome é para que esse argumento da função input ele é opcional mas é muito última que o usuário consiga enxergar o que ele precisa inserir comentada causa em solicite que o usuário insira um outro valor
e nesse caso imagina que seja um valor numérico né e o usuário insira o valor 2mil avaliar o valor passa a valer 2000mah separem com atenção o valor que o usuário insere vai ser convertido para stream e não numérico Isso é uma característica do impulso do Python Qualquer que seja entrada sejam nome um número inteiro o número real ele vai converter isso pra estranha então caso a gente precise que o valor numérico se torne de fato o número a gente precisa converter as entradas usando o som flat ou os índios e colocando o input com
Margo mento da função Flot e da função int E é claro nos veremos agora os erros mais comuns cometidos pelos formadores e nós temos de nos sintáxi quer quando o programador escreve errado uma instrução por exemplo nesse caso onde o programador escreveu que o n recebe dois mais três e fechou parênteses Mas é para que o fechamento de parênteses não foi acompanhado de uma abertura isso gerou um erro de syntaxe Porque nós não encontramos o parentes que casa com parentes de fechamento um outro eu comum são erros em tempo de execução esse Deus ocorre só
quando o programa Vai ser executado porque não teve nenhum tipo de erro de sintaxes todas as instruções foram escritas de forma correta porém algo aconteceu né que eu falo programa que fez uma falha aparecer e por exemplo aqui nós temos um caso em que o usuário deverá digitar um número e o usuário digitou uma string que não pode ser convertida para um número inteiro isso gerou um erro em tempo de execução e por fim nós temos os erros de lógica ou semente aqui são erros de algoritmo Por exemplo quando o programa não faz aquilo que
ele deveria fazer reparem um caso bem simples em que o print exibir uma string dizendo que 2 + 5 = só que o resultado não foi não foi somado com 52 foi assim x 5 reparem que isso aqui é um erro de lógica não é um erro de syntaxe e também não causou uma falha no programa Bem alunos agora nós vamos praticar então nós temos um problema bem simples mas que trabalha esses conceitos são as conversamos até agora então crie um programa para um site o programa deverá solicitar o valor de um item EA quantidade
unidades compradas deste item ao final deve exibir o total com desconto de 10 porcento considere que a quantidade será sempre um número natural positivo se você esqueceu o amor natural é um conjunto dos números inteiros sem a parte dos negativos ou seja do zero hein é bem vamos começar a construção do nosso programa para resolver esse problema reparem que é solicitado que você cria um programa que peça para o usuário o valor de um item então eu posso criar uma variável chamada valor que vai receber o valor de um item eu acho que é natural
que a gente imagina que esse valor é um número real Então nós vamos escrever front input uma mensagem para o usuário entenda o que está pedindo né então posso colocar aqui com uma frase curta o valor do item e enfrente a consegue obter a entrada usuário tá faltando agora só a quantidade de itens que ele comprou nesse valor a falta de alvará o kit de de quantidade e nesse caso como é dito no enunciado que a quantidade é só um número natural se não pode ter uma quantidade fracionária eu vou usar aqui o tipo int
i o que colocar uma mensagem super curta para o usuário só para entender que tem digitar a quantidade E aí um ótimo tendo em mãos nós já temos o valor EA quantidade dos itens que o usuário comprou agora basta calcular o total é é só que nós calculamos o tal como mesmo total é o valor dos itens vezes a quantidade certo só que é Pare que foi dito que o cliente vai ter dez porcento de desconto bem o que nós temos o total O que é o valor vezes a quantidade como que nós conseguimos calcular
um desconto de 10 porcento bem e esse parênteses e são completamente opcionais você pode colocar o se de repente para você facilitar visualização eu só fiz colocar a nossa que é possível mas eu vou retirar os a versão final é E aí e agora o que eu quero é calcular exatamente desconto de 10 porcento Então nós vamos criar um bravo desconto que recebe um valor que é o Total X 0.10 os 10 por cento e alguma coisa por acaso você tá em dúvida lembre se que qualquer coisa multiplicada por um é 100 porcento dela qualquer
coisa x 2 é duzentos por cento dela qualquer coisa x 0.5 é cinquenta por cento do valor então se multiplicar por 0.1 e são mesmo que 10 por cento do valor do total Esse é um desconto bem ao final eu posso criar uma outra variável por exemplo Total final que é a variável com o valor final que os vai pagar que é a variável Total menos um desconto é que hora que eu poderia economizar variáveis e fazer um cálculo um pouco maior e talvez economizando memória mas objetivo Aqui é Ver passo a passo Então agora
eu vou exibir o total comprado E aí E aí e eu posso simplesmente executar um programa agora e reparem que o valor do item e sem reais nós compramos dez itens desse creio que o valor seria de mil reais mas com 10 por cento de desconto ele fica por 900 é claro que talvez eles estão na forma mais interessante te mostrar esse valor talvez formatado como é que nós podemos fazer isso para ficar com aspecto mais próximo do Real usando uma string formatada eu posso simplificar um F no começo e ao invés de colocar uma,
aqui eu posso apagar a, apagar esse aposta e colocar o total entre Chaves a e agora eu fecho eu posso mas eu quero formatar com duas casas então basta colocar: um ponto dois F pronto vamos exibir o valor no aspecto mais próximo do que seria de um valor monetário o valor do item os 10 unidades e nós temos 900reais como total com desconto nesse vídeo nós vimos outros fundamentos da linguagem Python como expressões como o pai com a valise expressões o conceito de precedência e associatividade de operadores mesmo sua função print e que ela funciona
para exibir dados usuário e de uma forma análoga a função input que coleta dados do usuário também vimos os tipos de erros mais comuns e fizemos um exemplo aqui no final de um programa que utiliza esses recursos básicos que nós vimos até agora Caso existam dúvidas estou à disposição Muito obrigado e até mais é E aí E aí