Eu odeio o Python - 2ª Edição

Eu odeio o Python - 2ª Edição

(Parte 1 de 4)

Deus seja Louvado.

Guerreiro, Helder Eu odeio o Python 2º ed. / Helder Guerreiro – Manaus, 2016.

Bibliografia

Livro não catalogado e não institucional, o mesmo é amador.

Conselhos de Um Amigo 4 Segunda Edição? 5 Nos Passos de Um Bebê 6 Algoritmos ou Programas? 8 1. O Início de Uma Novela 9 1.1 Primeiros Passos 9 1.2 Primeiras Funções de entrada 12 1.3 Módulos (bibliotecas) 14 1.4 Questões Resolvidas 16 Questão 1 – Custo da pintura de um muro 16

Questão 2 – Custo da pintura de um muro (reformulado) 18 Questão 3 – Caixa eletrônico 20 Questão 4 – Ordene três números inteiros 23 Questão 5 – Área do Círculo e Volume da Esfera 24 Questão 6 – Área do Triângulo 25 Questão 7 – Distância entre dois pontos na superfície da Terra 27 Questão 8 – Soma dos dígitos de um número inteiro 30

1.5 Avaliações 3 Avaliação A – A1 3

Avaliação B – A1 34 2. Decisões da Vida – As Condicionais 36 2.1 Comando Condicional 36 2.2 Operadores Condicionais 38 2.3 Questões Resolvidas 40 Questão 1 – Par ou ímpar? 40

Questão 2 – De volta ao problema do caixa eletrônico 42 Questão 3 – Ponto e reta 45 Questão 4 – Desconto 46 Questão 5 – Angry Birds 47 Questão 6 – Tanque de combustível 50 2.4 Avaliações 52

Avaliação A – A2 52 Avaliação B – A2 54

3. Sua Vida Mais Difícil – As Condicionais Encadeadas 56 3.1 Juntem os Dedos: Hora da Fusão! 56 3.2 Novas Funções 56 3.3 Um Novo Módulo (Random) 57 3.4 Questões Resolvidas 58

Questão 1 – De volta à área do triângulo 58 Questão 2 – Isósceles, equilátero ou escaleno? 62 Questão 3 – Animais nas cédulas do Real 65 Questão 4 – Conta de Energia 67 Questão 5 – Volume de combustível 70 Questão 6 – Sobreposição de Intervalos 74

3.5 Avaliações 7 Avaliação A – A3 7

Avaliação B – A3 79 4. Sua Vida um Inferno – Repetição por Condição 82 4.1 Variável Contadora e Variável Acumuladora 82 4.1.1 Variável Contadora 82 4.1.2 Variável Acumuladora 83 4.2 Questões Resolvidas 84

Questão 1 – Testando um Script 84 Questão 2 – Soma de uma coleção de números 86 Questão 3 – Somas de várias coleções de números 8 Questão 4 – Média de uma coleção de números 90 Questão 5 – Média de várias coleções de números 92 Questão 6 – Aproximação de π 94

4.3 Avaliações 97 Avaliação A – A4 97

Avaliação B – A4 9 5. Álgebra uma Garota Difícil de Conquistar – Vetores 103 5.1 Aprendendo a Invocar Demônios 103 5.2 Funções e Operações de Vetores 104 5.2.1 Selecionando Parte de um Vetor 104 5.2.2 Operações com Vetores 105 5.3 Gráficos 106

5.3.1 A Invocação do Mal 106 5.3.2 Trabalhando como Doutores em T.I. 106 Exemplo Louco 107

5.4 Questões Resolvidas 112 Questão 1 – Vetor de zeros 112

Questão 2 – Vetor de uns 113 Questão 3 – Geração de vetores linearmente espaçados 114 Questão 4 – Informações básicas de um vetor 116 Questão 5 – Quantas ocorrências? (1) 118 Questão 6 – Quantas ocorrências? (2) 120 Questão 7 – Qual a porcentagem de acerto? 122 Questão 8 – Área de um polígono 124 Questão 9 – Raízes de um polinômio 128 Questão 10 – Derivada de um polinômio 130 5.5 Avaliações 134

Avaliação A – A5 134 Avaliação B – A5 136 6. Vetores no Modo Avançado - Estruturas de Repetição por Contagem 138 6.1 Uma Função Inovadora 138 6.2 Questões Resolvidas 140

Questão 1 – Quantos elementos são pares? 140 Questão 2 – Aprovado, mas não pode ser monitor 143 Questão 3 – Contar ocorrências (1): Time de Futebol 145 Questão 4 – Contar ocorrências (2): Aprovação em disciplina 148 Questão 5 – Contar ocorrências (3): Faltas ao trabalho 151 Questão 6 – Fração contínua (1): Raiz quadrada de dois 155 Questão 7 – Arte ASCII (1) 158

6.3 Avaliações 162 Avaliação A – A6 162

Avaliação B – A5 165 7. No Coração da Álgebra Linear – As Matrizes 167 7.1 A Construção do Império Matricial 167 7.2 Funções e Operações de Matrizes 168 7.2.1 As Dimensões 168

7.2.2 As Funções 169 7.2.3 Seleção de Valores 169 7.2.4 Operações Entre Matrizes 171

7.3 Questões Resolvidas 173 Questão 1 – SEL(1): Cesta de frutas 173

Questão 2 – SEL(2): Alimentando Bactérias 175 Questão 3 – SEL(3): Fluxo de Tráfego 177 Questão 4 – Impressão de padrão 180 Questão 5 – Horas de trabalho em uma empresa (1) 183 Questão 6 – Horas de trabalho em uma empresa (2) 185 Questão 7 – Distância entre duas cidades 188 8. Fechando Com Chave de Ouro - Strings 190 8.1 Um Comportamento Conhecido 190 8.2 Trabalhando com Strings 192 8.3 Testes Lógicos 195 8.3.1 Funções “is” 195 8.4 De Strings Para Números Ou Vice-Versa 197 8.5 Questões Resolvidas 199 Questão 1 – Data por extenso 199

9.3 Modos208
9.5 Lendo211

Questão 2 – Formato de datas 202 Questão 3 – Operações básicas envolvendo strings 206 9. Arquivos 208 9.1 Pra que isso? 208 9.2 Abrindo e fechando 208 9.4 Escrevendo 209 9.6 Dados numéricos 213

Um Futuro Não Tão Distante 215 O objetivo final 216

Conselhos de Um Amigo

Olá, meu nome é Helder Guerreiro aluno de Engenharia Química na Universidade Federal do Amazonas (UFAM) esses conselhos que lhe darei serão acerca do seu modo de aprendizagem com esta apostila, a qual foi criada para suprir as necessidades dos alunos que não se dão bem de forma alguma com a programação do Python. Um dia eu também cheguei a achar as aulas e laboratórios do Python inúteis e sem pé e sem cabeça, mas com o tempo percebi que se analisarmos com cuidado e carinho o Python se torna interessante e muito útil e infinitos casos como você verá nesta apostila e vendo a grande dificuldade da minha turma e dependência em confiar naqueles que sabia mais eu criei esta apostila, não pensando nas aulas do primeiro período mas pensando no futuro, existem disciplinas que irão exigir de você a técnica de programação, e es me aqui para lhe ajudar.

Quando fores estudar nesta apostila tenha muita paciência, o ponto forte para você aprender aqui são os exercícios resolvidos, eles são formados por textos que ajudam a entender a construção do script e como cria-lo também e no final é apresentado o resultado final, ao ler tenha calma e leia atentamente, o texto não é tão grande assim e quanto maior a dificuldade da questão maior é o texto. Eu não irei mostrar o resultado logo de cara, irei criar uma base de conhecimento e especulações que levarão você a entender como aquilo foi criado, por isso, não vá logo pulando para o resultado final, leia com calma. Ao estudar nesta apostila tenha sempre o seu programa Python aberto, para você fazer os testes das funções e comando que serão apresentados, também use o Python na hora de estudar as questões resolvidas para que você mesmo vá criando seus scripts com base na minha didática.

Esta apostila não fala tudo sobre o Python, ela é uma introdução a esse grande programa que tem muitas coisas a nos ensinar, existem dois assuntos que aparecem nesta apostila, mas não podem ser aprofundados que são os gráficos produzidos pelo Python e o assunto Strings, que apesar desse último parecer fácil ele é muito complicado e exige uma apostila só para ele, nesses dois assuntos você será introduzido nesta apostila e aprenderá fazer o básico e o suficiente, numa outra ocasião você aprenderá melhor como trabalhar com esses assuntos.

Desejo boa sorte aos seus estudos, de onde quer que você for e de qualquer curso que você seja eu desejo que aprenda a utilizar o Python e saia da dependência daqueles que são mais inteligentes nesses assuntos, eu fiz esta apostila para você, um dia eu também não sabia de muita coisa, mas eu estudei e aprendi e estou aqui para lhe passar esse ensinamento da melhor forma possível. Bons estudos!

Segunda Edição?

Nesta segunda edição eu irei trazer alguns assuntos novos que talvez você ache interessante, assuntos que possam lhe ajudar em tarefas simples do dia a dia, tenho certeza que valerá a pena você ter em mãos esta segunda edição.

Aqui também devo falar que todo meu entendimento e base para criar esta apostila veio dos meus estudos na matéria cedida ao meu curso e administrada pela ICOMP o Instituto de Computação da UFAM, os arquivos que usei para estudo de base vieram deles da mesma forma como alguns scripts produzidos pelo instituto ao qual usei para lhe ensinar a como resolver certas questões. Então, eu não sou um gênio e não tirei tudo isso aqui do bolso, eu cursei a matéria de Introdução a Programação de Computadores (IPC) da ICOMP e logo em seguida me dediquei em aprender de uma forma diferente e mais leiga a qual passarei para você em toda esta apostila.

Devo falar um pouco de mim? Bom eu não sou um cara inteligente, conheço muita gente mil vezes melhor do que eu, então eu sou um cara burro que aprendeu a estudar programação de um jeito fácil e agora quero passar isso a você, bom na minha concepção os burros é que deveriam criar livros e apostilas, por que eles não conseguem aprender do jeito difícil e quando aprendem é de um jeito mais fácil, mas os gênios aprendem do modo difícil e quando criam um livro acham que todo mundo vai entender sua linguagem. Boa sorte e bons estudos o bate papo acaba aqui.

Nos Passos de Um Bebê

A primeira coisa que devo falar a você é que você deve baixar o Python para o seu computador, se você quiser estudar sem ele, melhor desistir da vida amigo. Eu uso o programa chamado Anaconda Python e é o mais indicado pelos professores da área, baixe-o aqui: https://w.continuum.io/downloads, escolha as configurações que batem com a do seu computador e pronto, é grátis. A versão a qual me baseio para os estudos é a 3.4, se tiver outra versão, não tem problema, Python sempre será Python. Vou lhe apresentar o painel do Anaconda Python:

Na apresentação dos ícones de ação do Anaconda Python, aqueles que não foram destacados não é necessário usar, em tudo que você aprender aqui não há necessidade dos outros botões, eles são mais avançados e são para quem está bem mais avançado no estudo do Python.

Dos menus em cima dos ícones, só será necessário o uso do menu File e Edit, os outros podem ser desconsiderados no nosso estudo.

Este é o console, é a janela em que acontecerá todas as ações dos scripts, aonde se darão entradas de informações e aonde se darão os resultados dos scripts criados por você.

Abaixo você estará vendo o campo de batalha, é aqui onde aconteceu todas as dores de cabeça que um dia eu tive e você também. Todas as suas linhas são contadas e sempre é bom criar um cabeçalho antes de criar um script qualquer.

Com todas essas informações podemos começar os nossos estudos! Agora mantenha o seu Python aberto e estude e analise cada assunto e comandos apresentados aqui, neste caso a curiosidade é uma boa aprendizagem para você, não se acanhe em saber como realmente uma função ou comando trabalha, coloque no seu Python e a teste e continue sua rotina de estudos.

Algoritmos ou Programas?

Bom antes de começarmos a novela das oito cheia de ação, drama e suspense devo mostrar aqui para todos a crítica diferença entre esses dois termos.

Tudo que você for fazer aqui, exatamente tudo, serão algoritmos, que aqui eu os chamo de scripts, eles são informações que foram manuseadas pelo programador para que o Python trabalhasse de acordo com essas informações.

Vou explicar melhor, o Python é um programa e os algoritmos são informações produzidas por ele, essas informações são construídas pelo programador que as constroem para que o programa venha executar as informações transcritas em algoritmos, veja um exemplo prático:

- Temos um robô, uma máquina.

O robô sem informações não pode fazer nada; Pois ele tem os mecanismos já dentro de si, mas que os faz movimentar são as informações; Um programador constrói um algoritmo que faz o robô se movimentar; O algoritmo diz que se o robô chegar a 30 cm de uma parede ele deve parar e se virar; O algoritmo diz também que o robô só irá andar se for acionado um comando por voz dizendo: “ande”; Da mesma forma, quando for a hora de parar, outro comando de voz será dito dizendo: “pare”; O algoritmo é inserido no robô e logo em seguida após o sistema reconhecer o algoritmo o comando é acionado; O robô começa a andar tranquilamente e quando chega perto de uma parede ele se vira e começa a andar de novo; O algoritmo só foi possível por que o robô tinha as ferramentas necessárias para que ele fosse executado; Da mesma forma, só foi possível o robô andar por que ele tinha as informações necessárias para isso.

Moral da história, o robô é um programa, ele tem os mecanismos, as ferramentas e os aparatos estruturais, mas as informações ainda não foram inseridas nele, essas informações são algoritmos (scripts) que dão ordens e caminhos para que o programa possa funcionar à vontade do usuário.

Não adianta você ter um carro, mas ele não sabe a hora que seu tanque está cheio ou vazio; não adianta você ter um computador se o mesmo não tem um sistema operacional; não adianta você ter um jogo eletrônico de última geração se o jogo não faz nada, só fica parado.

Para você que é fã dos jogos, eles são movimentados por scripts, uma cidade construída aos mínimos detalhes num jogo enorme são estruturas de um programa, ou seja, a cidade do jogo é um campo de infinitas possibilidades, é a estrutura do jogo, mas o que faz os carros andarem, os personagens falarem, as pessoas andarem, o céu escurecer são algoritmos, scripts que ordenam o jogo o que ele deve fazer a cada situação. Nisso eu fecho a explicação e espero que entenda que programas são diferentes de algorítimos.

1. O Início de Uma Novela

1.1 Primeiros Passos

Aprendendo as partes mais básicas do Python vamos começar do zero!

Logo de início é muito importante criar um cabeçalho onde se colocará nome, data e alguma especificação do arquivo. Para colocar qualquer tipo de texto que não sejam comandos, ou seja, cabeçalhos e comentários usa-se estes comandos: (“““) três aspas para grandes comentários que ultrapassem mais de uma linha ou cabeçalhos; (#) Jogo da velha para comentários pequenos de uma só linha.

Figura 1: Cabeçalho e comentários Fonte: Autoria própria

Toda função no Python fica roseado e deve ser acompanhado de parênteses, é como se a função fosse uma ferramenta e dentro dos parênteses é que está o objetivo dessa ferramenta. Se for colocar um texto dentro da função deve-se usar (““) duas aspas.

A primeira função apresentada aqui será o print, essa função tem o objetivo de apresentar no console tudo que estiver inserido nessa função, seja texto ou o resultado de uma outra função.

Figura 2: print modo 1 Fonte: Autoria própria

Figura 3: Resultado print modo 1 Fonte: Autoria própria

Ou até mesmo pode-se fazer de outro modo, usando uma variável e igualando essa variável ao comentário desejado, não esquecendo das aspas.

Fonte: Autoria própriaFigura 5: Resultado print modo 2

Figura 4: print modo 2 Fonte: Autoria própria

O Python também obedece aos comandos matemáticos que serão listados abaixo como devem ser feitos e o resultado de cada um.

Figura 6: Comandos matemáticos Fonte: ICOMP, UFAM

Pode se fazer de uma letra ou palavra uma variável, basta colocar qualquer letra ou palavra e igualá-la a um certo valor, e esse valor também pode ser uma função. Ao colocar uma variável igual a uma função o valor da variável será igual ao resultado da função. Para dá valores a qualquer variável se usa o sinal “=”.

Figura 7: Variáveis Fonte: Autoria própria

Figura 8: Resultado variáveis Fonte: Autoria própria

Preste atenção que o Python diferencia letras maiúsculas das minúsculas, ou seja, se você for fazer uma variável e depois usá-la numa função, como o print, então não esqueça de usar o mesmo tamanho da letra que foi usada para fazer a função, isso quer dizer que “x” é diferente de “X” e isso é print(x) é diferente disso print(X). Outro caso é que as variáveis NÃO podem ter espaços, se quiser distanciar as letras use o underline “_”. Uma função não pode ter sinais de pontuação.

(Parte 1 de 4)

Comentários