Introdução à Programação com Python



Documentos relacionados
Introdução à Programação com Python

3ª Edição Nilo Ney Coutinho Menezes

Criando Relatórios com PHP Pablo Dall Oglio

Simon Holmes. Novatec

Edécio Fernando Iepsen

Osvaldo Santana Thiago Galesi

Júlio César Scheiffer Saleh

jquery Mobile Desenvolva aplicações web para dispositivos móveis com HTML5, CSS3, AJAX, jquery e jquery UI Maurício Samy Silva Novatec

William Pereira Alves

Criando Relatórios com PHP

Pedro Monteiro da Silva Eleutério Marcio Pereira Machado. Novatec

Rodrigo de Barros Paes

WordPress 3 Básico Stephanie Leary

Ademir Cristiano Gabardo. Novatec

Desenvolvendo Websites com PHP

Luiz Eduardo Borges. Novatec

Programando para. iphone e ipad. Aprenda a construir aplicativos para o ios. André Milani. Novatec

Blender 3D jogos e animações interativas Allan Brito

Web Interativa com Ajax e PHP

A Arte de Escrever Programas Legíveis

Allen B. Downey. Novatec

2ª Edição Cláudio Torres

Hélio Engholm Jr. Novatec

Arduino Básico Michael McRoberts

jquery Mobile Desenvolva aplicações web para dispositivos móveis com HTML5, CSS3, AJAX, jquery e jquery UI 2a Edição Maurício Samy Silva Novatec

PHP-GTK. Criando Aplicações Gráficas com PHP. Pablo Dall'Oglio. Segunda Edição Inclui PHP 5 e GTK 2. Novatec

Robson Santos da Silva

Guia Mangá. Álgebra Linear. Shin Takahashi, Iroha Inoue e Trend-Pro Co., Ltd. novatec

Introdução às. Expressões Regulares. Michael Fitzgerald. Novatec

Nº horas ESTRATÉGIAS RECURSOS AVALIAÇÃO

Aprenda a Programar com Minecraft

4ª Edição Revisada e Ampliada Aurelio Marinho Jargas

Universidade Federal da Paraíba Centro de Informática Departamento de Informática

Introdução ao GitHub Peter Bell e Brent Beer

Objective-C Fundamental Christopher K. Fairbairn Johannes Fahrenkrug Collin Ruffenach

Aditya Y. Bhargava. Novatec

Indira Knight. Novatec

Editor: Rubens Prates PY Editoração eletrônica: Carolina Kuwabata Revisão gramatical: Patrizia Zagni Capa: Edinei Gonçalves/Carolina Kuwabata

Sumário. Parte I Elementos essenciais Sobre o autor Sobre o revisor técnico Prefácio... 14

Raspberry Pi Manual do Usuário

André Gugliotti. Novatec

PHP. Programando com Orientação a Objetos. Pablo Dall Oglio. Novatec

JavaScript. de Alto Desempenho. Nicholas C. Zakas. Novatec

desenvolva aplicações web profissionais com uso dos poderosos recursos de estilização das css3 Maurício Samy Silva

Ademir Cristiano Gabardo. Novatec

Matheus Marabesi Michael Douglas

Adriano Pataro. Novatec

Introdução à Programação com Python

Ademir Ribeiro dos Passos

Zend. Framework. Componentes Poderosos para PHP. Flávio Gomes da Silva Lisboa. Novatec

Edgar Gomes de Abreu

Maurício Samy Silva. Novatec

Maurício Samy Silva. Novatec

Guia Prático Richard E. Silverman

Primeiros Passos com o Netduino

Benjamin Bengfort Jenny Kim

Aprendendo SQL. Alan Beaulieu. Novatec

Segurança em Redes sem Fio

Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

Ademir C. Gabardo. Novatec

Novatec Editora Ltda

Guia Mangá. Álgebra Linear. Shin Takahashi, Iroha Inoue e Trend-Pro Co., Ltd. novatec

4ª Edição Pablo Dall Oglio

Sumário. Prefácio Capítulo 1 Orientação e primeiras etapas Capítulo 2 Dados: trabalhando com texto e números... 40

Harrison Kinsley Will McGugan

Criando Aplicações Gráficas com PHP

Métricas. Como melhorar os principais resultados de sua empresa. Martin Klubeck. Novatec

Arduino Básico. 2ª edição. Michael McRoberts. Novatec

4ª Edição Revisada e Ampliada Allan Brito

Conceitos c++ Prof. Demétrios Coutinho INFORMÁTICA BÁSICA

Guia Mangá. Microprocessadores. Michio Shibuya, Takashi Tonagi e Office Sawa. Novatec

Montadores e Compiladores

Ryan Mitchell. Novatec

Primeiros Passos com o Raspberry Pi

Novatec Editora Ltda

Ben Vinegar Anton Kovalyov

Paulo Strelczuk. Novatec

Uma introdução visual à programação com jogos, arte, ciência e matemática

A Arte de Escrever Programas Legíveis

Sérgio de Oliveira. Novatec

Christopher Duffy. Novatec

Desenvolvendo Websites com PHP

Kenneth Reitz Tanya Schlusser

Expressões Regulares Cookbook Jan Goyvaerts Steven Levithan

Vinícius Manhães Teles prefácio de Kent Beck colaborações especiais de Kent Beck e Robert Mee

2ª edição. Daniel Adorno Gomes. Novatec

Jody Culkin e Eric Hagan

Primeiros Passos com o Arduino Massimo Banzi

Roberto Cohen. Novatec

Miguel Grinberg. Novatec

MYRIAN VERAS BAPTISTA A INVESTIGAÇÃO EM SERVIÇO SOCIAL

Wilson Moraes Góes. Novatec

Introdução à Ciência da Informação

Ricardo R. Lecheta. Novatec

Murillo Lo Visco. Novatec

Shelley Powers. Novatec

PLANIFICAÇÃO ANUAL PROFIJ II T2 Ano letivo 2015 / 2016

Transcrição:

Introdução à Programação com Python Algoritmos e lógica de programação para iniciantes Nilo Ney Coutinho Menezes Novatec

Copyright 2010 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Revisão gramatical: Patrizia Zagni Editoração eletrônica: Camila Kuwabata Capa: Victor Bittow ISBN: 978-85-7522-250-8 Histórico de impressões: Novembro/2010 Primeira edição Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 São Paulo, SP Brasil Tel.: +55 11 2959-6529 Fax: +55 11 2950-8869 E-mail: novatec@novatec.com.br Site: novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec Dados Internacionais de Catalogação na Publicação (CIP) (Câmara Brasileira do Livro, SP, Brasil) Menezes, Nilo Ney Coutinho Introdução à programação com Python : algoritmos e lógica de programação para iniciantes / Nilo Ney Coutinho Menezes. -- São Paulo : Novatec Editora, 2010. Bibliografia ISBN 978-85-7522-250-8 1. Python (Linguagem de programação para computadores) 2. Web sites - Desenvolvimento I. Título. 10-10552 CDD-005.133 Índices para catálogo sistemático: 1. Python : Desenvolvimento de aplicações Web : Programação : Processamento de dados 005.133 VC20101116

Sumário Agradecimentos... 11 Prefácio...12 Introdução...13 Capítulo 1 Motivação... 16 1.1 Você quer aprender a programar?...16 1.2 Como está seu nível de paciência?...17 1.3 Quanto tempo você pretende estudar?...18 1.4 Qual o objetivo de programar?...18 1.4.1 Escrever páginas web...18 1.4.2 Acertar seu relógio...19 1.4.3 Aprender a usar mapas...19 1.4.4 Mostrar para seus amigos que você sabe programar...19 1.4.5 Parecer estranho...19 1.4.6 Entender melhor como seu computador funciona...20 1.4.7 Cozinhar...20 1.4.8 Salvar o mundo... 21 1.4.9 Software livre... 21 1.5 Por que Python?... 21 Capítulo 2 Preparando o ambiente... 24 2.1 Instalação do Python...24 2.1.1 Windows...24 2.1.2 Linux...30 2.1.3 Mac OS X...30 2.2 Usando o interpretador...30 2.3 Editando arquivos...32 2.4 Cuidados ao digitar seus programas... 36 2.5 Os primeiros programas... 36 2.6 Conceitos de variáveis e atribuição...39 7

8 Introdução à Programação com Python Capítulo 3 Variáveis e entrada de dados... 44 3.1 Nomes de variáveis... 44 3.2 Variáveis numéricas...45 3.2.1 Representação de valores numéricos... 46 3.3 Variáveis do tipo Lógico... 48 3.3.1 Operadores relacionais... 48 3.3.2 Operadores lógicos...50 3.3.3 Expressões lógicas...53 3.4 Variáveis string...54 3.4.1 Operações com strings... 56 3.5 Sequências e tempo... 61 3.6 Rastreamento...62 3.7 Entrada de dados...63 3.7.1 Conversão da entrada de dados... 64 3.7.2 Erros comuns... 66 Capítulo 4 Condições... 69 4.1 if...69 4.2 else...73 4.3 Estruturas aninhadas...74 4.4 elif...76 Capítulo 5 Repetições... 78 5.1 Contadores... 80 5.2 Acumuladores...83 5.3 Interrompendo a repetição...85 5.4 Repetições aninhadas...87 Capítulo 6 Listas... 90 6.1 Trabalhando com índices...92 6.2 Cópia e fatiamento de listas...93 6.3 Tamanho de listas...95 6.4 Adição de elementos... 96 6.5 Remoção de elementos da lista... 99 6.6 Usando listas como filas...100 6.7 Uso de listas como pilhas...101 6.8 Pesquisa... 103 6.9 Usando for...104 6.10 Range...106 6.11 Enumerate... 107 6.12 Operações com listas...108 6.13 Aplicações...108 6.14 Listas com strings...110

Sumário 9 6.15 Listas dentro de listas...110 6.16 Ordenação...112 6.17 Dicionários...117 6.18 Dicionários com listas... 120 Capítulo 7 Trabalhando com strings... 123 7.1 Verificação parcial de strings... 124 7.2 Contagem... 126 7.3 Pesquisa de strings... 126 7.4 Posicionamento de strings... 129 7.5 Quebra ou separação de strings... 130 7.6 Substituição de strings...131 7.7 Remoção de espaços em branco...131 7.8 Validação por tipo de conteúdo... 132 7.9 Formatação de strings... 134 7.9.1 Formatação de números... 137 7.10 Jogo da forca...141 Capítulo 8 Funções... 145 8.1 Variáveis locais e globais...151 8.2 Funções recursivas...154 8.3 Validação...156 8.4 Parâmetros opcionais... 157 8.5 Nomeando parâmetros... 159 8.6 Funções como parâmetro...160 8.7 Empacotamento e desempacotamento de parâmetros... 162 8.8 Desempacotamento de parâmetros... 162 8.9 Funções Lambda...163 8.10 Módulos...164 8.11 Números aleatórios... 165 8.12 A função type... 167 Capítulo 9 Arquivos... 170 9.1 Parâmetros da linha de comando... 173 9.2 Geração de arquivos... 173 9.3 Leitura e escrita...174 9.4 Processamento de um arquivo... 175 9.5 Geração de HTML... 180 9.6 Arquivos e diretórios... 185 9.7 Um pouco sobre o tempo...190 9.8 Uso de caminhos... 192 9.9 Visita a todos os subdiretórios recursivamente... 194

10 Introdução à Programação com Python Capítulo 10 Classes e objetos... 195 10.1 Objetos como representação do mundo real... 195 10.2 Passagem de parâmetros... 198 10.3 O exemplo de um banco...200 10.4 Herança...205 Capítulo 11 Próximos passos... 208 11.1 Programação funcional...208 11.2 Algoritmos...209 11.3 Jogos...209 11.4 Orientação a objetos... 210 11.5 Banco de dados... 210 11.6 Sistemas web...211 11.7 Outras bibliotecas Python...211 11.8 Listas de discussão... 212 Apêndice A Mensagens de erro... 213 A.1 SintaxError... 213 A.2 IdentationError...214 A.3 KeyError... 215 A.4 NameError... 215 A.5 ValueError... 216 A.6 TypeError... 216 A.7 IndexError... 217 Referências... 218 Índice remissivo... 219