Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Paython - Características básicas da linguagem 2 2 Obtenção e instalação 2 3 Variáveis 3 4 Strings 3 4.1 Manipulando Strings, Resumos de Programação em Windows

Tutorial de Introdução ao Python

Tipologia: Resumos

2020

Compartilhado em 15/04/2020

ze-paulo-1
ze-paulo-1 🇧🇷

1 documento

1 / 22

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Universidade Federal Fluminense
Centro Tecnológico
Escola de Engenharia
Curso de Engenharia de Telecomunicações
Programa de Educação Tutorial
Grupo PET-Tele
Tutorial de Introdução ao Python
(Versão: 2k9)
Niterói - RJ
Maio / 2009
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16

Documentos relacionados


Pré-visualização parcial do texto

Baixe Paython - Características básicas da linguagem 2 2 Obtenção e instalação 2 3 Variáveis 3 4 Strings 3 4.1 Manipulando Strings e outras Resumos em PDF para Programação em Windows, somente na Docsity!

Universidade Federal Fluminense

Centro Tecnológico

Escola de Engenharia

Curso de Engenharia de Telecomunicações

Programa de Educação Tutorial

Grupo PET-Tele

Tutorial de Introdução ao Python

(Versão: 2k9)

Niterói - RJ

Maio / 2009

Sumário

  • 1 Características básicas da linguagem
  • 2 Obtenção e instalação
  • 3 Variáveis
  • 4 Strings
    • 4.1 Manipulando Strings
  • 5 Operações matemáticas
  • 6 Entrada de Dados
  • 7 Estruturas de controle
    • 7.1 While
    • 7.2 If
    • 7.3 For
  • 8 Funções
    • 8.1 Variáveis em funções
    • 8.2 Recursividade
    • 8.3 Módulos
  • 9 Listas
    • 9.1 Inserindo um novo dado a uma lista
    • 9.2 Impressão dos conteúdos da lista
    • 9.3 Determinar em que ordem um elemento aparece na lista
    • 9.4 Remover um elemeto de uma lista
    • 9.5 Descobrir o tamanho de uma lista
    • 9.6 Range
  • 10 Expressões booleanas

no seu programa de terminal favorito. Para usuários do sistema operacional Windows, o interpretador para Python deve ser baixado através do site http://www.python.org e instalado. Neste último sistema o usuário encontra um utilitário para fazer o papel de terminal (e editor de python) no Windows, denominado IDLE.

3 Variáveis

Variáveis são formas de se armazenar dados para uso posterior. Estas podem ser classi- cadas em 3 tipos básicos (existem outros, que serão abordados mais a frente):

  • int - Um número inteiro
  • oat - Um ponto utuante
  • string - Uma sequência de caracteres

Ao contrário da maioria das outras linguagens, em Python, não é necessário declarar as variáveis que serão usadas, tampouco denir seu tipo. A própria sintaxe do dado a ser armazenado identica o tipo da variável para armazená-lo. Por exemplo, caso deseje- se atribuir o valor 3 à variável A, basta digitar A=3. Python saberá que A é um inteiro(tipo int"). Por outro lado, se o valor a ser armazenado fosse 3,2 que é um dado do tipo ponto utuante, este deveria ser expresso como A=3.2. Observe que, para Python, A=3 e B=3.0 são variáveis de tipos diferentes e isto deve ser levado em conta ao se realizar certos tipos de manipulações de dados.

4 Strings

String é um tipo de objeto formado por uma sequência imutável de caracteres que nos permite trabalhar com textos. Exemplo:

a = Bom Dia print a Bom Dia

Percebemos que elas são delimitadas por aspas, podemos utilizar tanto aspas duplas como as simples. Se utilizarmos aspas duplas, como o mostrado no exemplo acima, pode- mos usar as simples para aplicações dentro do texto que estamos escrevendo, o contrário também é verdadeiro. Exemplo:

b = 'O lema do governo JK era:\n Cinquenta anos em cinco. ' print b O lema do governo JK era: Cinquenta anos em cinco.

No exemplo acima utilizamos um outro artifício para trabalharmos com strings, o \n. Este por sua vez, tem a função de pular uma linha e escrever o texto, que está depois do \n, nessa nova linha. Tanto isso é verdade que no mesmo exemplo, quando usamos o

comando print é mostrada a parte do texto que diz: Cinquenta anos em cinco., impresso na linha seguinte. Outro artifício parecido com \n, é o \t que tem o objetivo de acrescentar ao texto que vem após, um espaço de tabulação. Há também outra aplicação para as aspas, que consiste na delimitação do texto por três aspas (duplas ou simples). Exemplo:

a =  ' Quatro times do Rio de Janeiro: Botafogo Vasco Fluminense Flamengo ' print a Quatro times do Rio de Janeiro: Botafogo Vasco Fluminense Flamengo

Nessa aplicação para as aspas, quando usamos o comando print, tudo o que estiver entre as três aspas será impresso exatamente da mesma forma como foi escrito.

4.1 Manipulando Strings

Pelo fato de uma string ser uma sequência imutável, isso nos dá a possibilidade de ma- nipularmos essa sequência, consideremos o exemplo abaixo:

a = 'matemática' a[2]+a[-5]+a[-4:] 'tática' Isso nos mostra que uma string segue uma determinada indexação onde cada caractere assume um endereço que, pode ser acessado colocando o nome da variável, que contém a string, e após, entre os colchetes, o endereço da célula que contém o caractere desejado. Existe também um recurso conhecido como operador %, que serve para formatar as strings, basicamente são três os tipos de formatação que temos:

  • %s - Serve para substituir string;
  • %d - Serve para substituir números inteiros em uma frase destinada a um print;
  • %f - Serve substituir oats (números em aritmética de ponto utuante).

Observação: As três formatações acima relacionadas são normalmente para aplicações em uma frase destinada a um print. Exemplo:

compra= 'maçã' tipo='verde'

8

Não existe um comando especíco para a radiciação em Python (exceto para a raiz quadrada). Entretanto, para obter a raiz n-ésima de um número basta elevá-lo por 1 /n onde n é o índice da raiz. As regras para a obtenção de números inteiros ou pontos ututante também se aplicam a este caso.

Radiciação:

8**(1.0/3.0)

8

6 Entrada de Dados

Através do comando raw_input podemos receber do usuário uma string. O tamanho da string pode ser conhecido pelo comando len().

nome = raw_input('Digite seu nome: ') Digite seu nome: Pedro nome 'Pedro' len(nome) 5 sobrenome = raw_input('Agora digite o sobrenome: ') Agora digite o sobrenome: Albuquerque

Operações matemáticas não podem ser feitas com strings, apenas com oats e inteiros, porém se somarmos strings, Python as juntará, num processo chamado concatenação e se multiplicarmos uma string ela será repetida.

nome + sobrenome 'PedroAlbuquerque' nome* 'PedroPedroPedro'

Se a priori sabemos que o dado digitado pelo usuário não será uma string, podemos utilizar como entrada de dados o comando input():

idade = input('Digite sua idade: ') Digite sua idade: 27 altura = input('Qual a sua altura: ') Qual a sua altura: 1. type(idade) <type 'int'> type(altura) <type 'oat'>

Observação: O dado inserido pelo usuário já é dinamicamente tipado. Para saber qual o tipo da variável atribuída, basta digitar o comando type() que ele devolverá a variável referente ao objeto entre parênteses.

7 Estruturas de controle

Os comandos de Python são executados pelo computador, linha por linha e as estruturas de controle permitem ao programador modicar a ordem em que cada comando será executado bem como se ele será ou não executado.

7.1 While

Começaremos por uma estrutura de repetição. O loop while tem como função repetir determinado bloco de comando, até que uma determinada condição pare de ser atendida. Para que o bloco seja executado no momento correto, devemos manter uma rígida iden- tação, ou seja, tudo que pertencer ao bloco do while, deve estar um espaço a frente, isto ajuda a deixar o código legível e organizado.

while #condição for verdadeira : ... #bloco de comandos pertencentes ao while #continuação do programa

Vejamos, por exemplo, como calcular um número fatorial:

resultado = 1 num_org = input('Entre com um número inteiro: ') Entre com um número inteiro: 6 num = num_org while num > 1: ... resultado = resultado * num ... num = num - 1 ... print 'O número ', num_org, '! é: ',resultado O número 6! é: 720

Se a condição estabelecida no while for sempre verdadeira, como 2 < 1, o seu loop será innito, pois a condição será sempre atendida. Caso esse seja seu desejo, pode-se usar também o comando while 1 em vez de estabelecer uma condição qualquer.

7.2 If

Outra estrutura que estudaremos é a condicional. O comando if direciona o computador a tomar uma decisão, baseado nas condições determinadas. Se a condição for atendida, um bloco de comandos será executado, caso contrário, o computador executa outros co- mandos.

2 3 4 5 6 7 8 9

10

Ou seja, um print de todos os elementos da lista.

A função for também pode ser aplicada com o uso de strings, observemos o caso abaixo:

lista = ['vida', 42, 'o universo', 6, 'e', 7, 'tudo'] for item in lista: ... print 'O item atual é:',print

E obteríamos como saída:

O item atual é: vida O item atual é: 42 O item atual é: o universo O item atual é: 6 O item atual é: e O item atual é: 7 O item atual é: tudo

8 Funções

As linguagens de programação em geral têm o intuito de automatizar ações tornando-as mais rápidas. Se houver alguma ação que seja grande e utilizada com frequência, temos a opção de criar uma função que cumpra o seu objetivo, reduzindo o espaço ocupado pelo nosso programa nal, além de deixá-lo com uma aparência mais limpa, visto que o tamanho do código irá diminuir. Essas funções também são muito úteis na tarefa de debuggar o seu código, visto que você não precisará vasculhar o código atrás do erro, basta entrar na função e modicá-la. Um exemplo de como podemos diminuir um código está descrito abaixo.

Se em um determinado problema, precisarmos descobrir se dois valores absolutos são iguais podemos utilizar o código 1, descrito abaixo, todas as vezes que precisarmos re- alizar essa descoberta, ou podemos simplesmente usar o código 2 criando uma função que cumpra esse objetivo exigindo apenas que apresentemos os valores que devemos analisar.

Dado que temos os valores: a = 23 b = -

Função 1:

if a < 0: ... a = -a if b < 0: ... b = -b if a == b: ... print 'Os valores absolutos de ', a, ' e ', b, ' são iguais' ... else: ... print 'Os valores absolutos de ', a, ' e ', b, ' são iguais'

Função 2:

def compara_absolutos(a,b): ... " Essa função retorna se os valores absolutos das variáveis requeridas são iguais ... if a < 0: ... a = -a ... if b < 0: ... b = -b ... if a == b: ... print 'Os valores absolutos de ', a, ' e ', b, ' são iguais' ... else: ... print 'Os valores absolutos de ', a, ' e ', b, ' são iguais' ...

Abaixo apresentamos a sintaxe necessária para criação de funções utilizando a lin- guagem Python.

def funcao(variavel1,variavel2,...,variavelN): ... bloco de comandos ... return

É que ao chamar uma função, podemos passar a esta alguns parâmetros (valores ou strings): funcao(1234,"pet-tele","UFF-1234"), porém em algumas funções ao colo- carmos nosso código na seção bloco de comandos, a função automaticamente denirá os parâmetros necessários. Por exemplo, se houver uma função que faça cálculos matemáti- cos, devolvendo um resultado numérico, será necessário que todas as variáveis chamadas pela função sejam inteiros ou oats.

...

print '2! = ',fatorial(2) 2! = 2 print '3! = ',fatorial(3) 3! - 6 print '4! = ',fatorial(4) 4! = 24:: print '5! = ',fatorial(5) 5! = 120

Um passo-a-passo de como a função é executada, utilizando o comando fatorial(n), para n = 3:

  1. Quando chamamos a função fatorial(3), fornecemos à função o valor 3 para o parâmetro de entrada n.
  2. O comando if testa se n é menor ou igual a 1, como este não é, a função continua.
  3. Nesta parte a função pretende retornar o valor nfatorial(n-1), ou seja, 3fato- rial(2). Entretanto, ela ainda não possui o valor de fatorial(2). Para isso, a função fatorial é novamente chamada com n = 2, retornando o valor 2*fatorial(1).
  4. Como ainda não temos fatorial(1), a função chama a si mesma mais uma vez para calculá-lo.
  5. Com isto, atingimos a condição de saída do if que está na função fatorial e então o valor retornado é 1.

Vamos fazer uma retrospectiva do que aconteceu ao se executar esta função:

fatorial(3) 3 * fatorial(2) 3 * 2 * fatorial(1) 3 * 2 * 1 = 6

8.3 Módulos

Pensando na reutilização de código, a linguagem Python já possui um conjunto de funções prontas para serem usadas ou agregadas em seus programas. Essas funções estão agru- padas em estruturas denominadas módulos. Para a utilização desses módulos é preciso utilizar o comando import nome_do_módulo.

Após ter importado o módulo, qualquer função pertencente a ele pode ser utilizada através do comando nome_do_módulo.função(argumento).

É possível importar do módulo apenas a função desejada. Para isso, utilizamos o comando from nome_do_módulo import função, e a função estará disponível para

utilização.

Você também pode denir o seu próprio módulo. Deni-se as funções desejadas e ao nal, você salva o seu módulo com a extensão .py. Exemplo:

Digite em um editor de texto simples:

#IMC.py

def indice(altura,peso): imc = peso/(altura**2) return imc

def estado(imc): if imc < 24.9: print 'NORMAL' elif 24.9 < imc < 29.9: print 'PESO A MAIS' elif 29.9 < imc < 40: print 'LIGEIRA OBESIDADE' elif imc > 40: print 'OBESIDADE' else: print 'MAGRO DEMAIS'

def pesoideal(peso,altura): a = 20(altura2) b = 24.9(altura**2) print 'Seu peso ideal se encontra entre %f e %f' %(a,b)

Agora, salve o seu arquivo como IMC.py. De agora em diante, o módulo já pode ser utilizado por qualquer programa em Python.

9 Listas

Listas são sequências de variáveis. Após denidas, podem ser modicadas de várias maneiras, pois são mutáveis. Para denir uma lista basta digitar:

lista = [9,8,7]

O endereçamento dos componentes começa no 0. Então, se você deseja usar um determinado elemento da lista, basta chamá-lo: lista[x]. Com isso, você está se referindo ao elemento de posição x na lista. Alguns comandos referentes a listas:

len(lista) informa o tamanho da lista

9.1 Inserindo um novo dado a uma lista

Para inserir um novo dado a uma lista qualquer, chamamos uma método chamado .ap- pend :

teste = [] teste.append('zero') teste.append('um') teste ['zero','um']

Infelizmente o comando .append só consegue adicionar um dado na lista por vez, mas se quisermos adicionar mais dados podemos simplesmente somar listas, multiplicá-las, ou utilizar o comando .extend :

teste.extend(['dois','três',] soma = ['quatro','cinco'] teste += soma teste + ['seis'] ['zero','um','dois','três','quatro','cinco','seis'] teste* [zero','um','dois','três','quatro','cinco','seis',zero','um','dois','três','quatro','cinco','seis']

Observação: o código teste += soma é o mesmo que escrever teste = teste + soma.

9.2 Impressão dos conteúdos da lista

Ao chamarmos a lista teste sem referenciarmos nenhum elemento especíco estamos li- dando com todos os elementos da lista. Podemos também imprimir somente alguns valores de dentro da lista, necessitando para isso apenas indicar o local:

print 'As variavéis na lista teste são ',teste As variavéis na lista teste são ['zero','um','dois','três','quatro'] print 'As variavéis 0 e 3 da lista teste são ',teste[0],' e ',teste[3] As variavéis 0 e 3 da lista teste são zero e três

Podemos também utilizar o comando for.

for valor in teste: ... print valor ... zero um dois três

quatro

9.3 Determinar em que ordem um elemento aparece na lista

A função .index retorna o índice da primeira ocorrência do valor especicado, ou seja, para imprimirmos na tela a posição em que a string quatro aparece utilizaríamos o código:

print lista.index("quatro") 4

Observação: É importante notar que a lista inicia sua contagem a partir do 0 (zero) o que explica o número 2 obtido acima.

9.4 Remover um elemeto de uma lista

Para remover um elemento de uma lista utilizamos o comando del , referenciando o index, ou posição da lista, onde haverá a remoção.

print 'Antes a lista 'teste' era: ',teste Antes a lista 'teste' era: ['zero','um','dois','três','quatro'] del teste[3] print 'Agora a lista 'teste' é: ',teste Agora a lista 'teste' é: ['zero','um','dois','quatro']

Podemos obter o mesmo efeito utilizando o método .remove que procuraria a primeira ocorrência na lista para um dado valor ou string:

lista += ['um'] print 'Antes a lista 'teste' era: ',teste Antes a lista 'teste' era: ['zero','um','dois','quatro','um'] teste.remove("um") print 'Agora a lista 'teste' é: ',teste Agora a lista 'teste' é: ['zero','dois','quatro','um']

9.5 Descobrir o tamanho de uma lista

Para descobrir o tamanho de uma lista, usamos o comando len(), como exemplicado no código abaixo:

print 'O tamanho da lista teste é: ', len(teste) 4

Nos dizendo que a lista teste possui 4 variáveis

imal, utilizando o valor 0 para denir uma operação FALSA e o valor 1 para denir uma operação VERDADEIRA. As operações entre valores lógicos são feitas de forma análoga às operações feitas entre conjuntos de elementos, sendo que cada um desses elementos é tratado como uma situação, podendo ser verdadeiros ou falsos.

Em python os seguintes valores são interpretados como falso:

False None 0 () []

Ou seja, os valores False e None, o valor numérico 0 e as sequências vazias são denomi- nadas falsas enquantos todos os outros valores possíveis são interpretados como verdadeiro.

Como na maioria das linguagens de programação, temos a possibilidade de utilizar a Álgebra Booleana para realizar testes lógicos usados em estruturas de controle, com esses testes podemos conferir a veracidade de operações, além de podermos montar funções condicionais if, laços de repetição while e for, entre outros, que podem ser inseridos em qualquer lugar de seu programa. Observemos o exemplo abaixo:

a = 6 b = 7 c = 42 print 1, a == 6 print 2, a == 7 print 3, a == 6 and b == 7 print 4, a == 7 and b == 7 print 5, not a == 7 and b == 7 print 6, a == 7 or b == 7 print 7, a == 7 or b == 6 print 8, not (a == 7 and b == 6) print 9, not a == 7 and b == 6

Teríamos como saída o seguinte resultado:

1 True 2 False 3 True 4 False 5 True 6 True 7 False 8 True 9 False

Para entender a lógica do que foi feito acima, devemos relembrar alguns conceitos de álgebra booleana. Abaixo temos uma breve descrição sobre os operadores lógicos:

  • Operador and ": (em portugês e") signica que ambas as armações devem ser verdadeiras, caso contrário a expressão é falsa.
  • Operador or ": (em português ou") signica que se ao menos uma das armações for verdadeira, então toda a expressão também o será.
  • Operador not": (em português não") signica uma inversão lógica em uma ex- pressão, o que era verdadeiro, se torna falso, e viceversa.

As tabelas abaixo podem ajudar a claricar alguns desses conceitos:

Expressão Resultado true and true true true and false false false and true false false and false false

not true false not false true

true or true true true or false true false or true true false or false false

O programa abaixo mostra um exemplo de aplicação de expressões booleanas. Vamos dizer que precisamos de um programa que indique a situação de um aluno ao nal do ano, sendo que elas são assim:

  • Se o aluno obtiver nota maior ou igual e seis e não tiver mais de 10 faltas, ele passa direto;
  • Se o aluno obtiver nota maior ou igual e seis e tiver mais de 10 faltas, ele ca de recuperação por falta;
  • Se o aluno obtiver nota maior que quatro e menor que seis e não tiver mais de 10 faltas, ele ca de recuperação por nota;
  • Se o aluno obtiver nota menor que quatro, ele repete direto;
  • Se o aluno obtiver nota maior que quatro e menor que seis e tiver mais de 10 faltas, ele repete por não obter nota e por excesso de faltas;

Para montar esse programa precisaremos utilizar as Expressões Booleanas, já que pre- cisamos fazer a vericação de duas situações, temos que vericar se o aluno tem nota e se ele tem presença.

alunos = ['Fred','Suzana','Claudio','Puga','Robson','Gustavo'] nota = [5.4, 6.2, 2.9, 9.9, 7.8, 4.9]