Post on 18-Jan-2019
1
© Luís Cruz - 2004 53
Programação em Python
Duas formas de executar instruções Python
l Interactivamente: A instrução a executar é introduzida em frente ao prompt e após <Enter> ela é interpretada
Exemplo : >>> dia=“Quarta-feira”>>> print diaQuarta-feira
l Scripts: Cria-se ficheiro com as instruções a executar (script) e invoca-se intérprete sobre script.
© Luís Cruz - 2004 54
Programação em Python
No caso anterior o conteúdo do ficheiro programa (script) seria:
dia=“Quarta-feira”print dia
que ao ser executado produziria
Quarta-feira
2
© Luís Cruz - 2004 55
Um script mais complexo...
# # Autor : Luis Cruz# Data : 18 Setembro 2003# #cidade="Coimbra" # Cria uma cadeia de caracteresnome=raw_input("Qual o seu nome ? ") # Le uma cadeia de caracteresprint "Olá "+nome+" de "+cidade # Imprime uma saudação
personalizada
Programação em Python
Comentário
Criação de objecto “Coimbra”E atribuição de nome cidade
Instrução de entrada de dados.Espera entrada via teclado de uma cadeirade caracteres, cria objecto comconteúdo lido e atribui-lhe nome nome
Instrução de saída. Escreve no écran.
© Luís Cruz - 2004 56
Objectos e NomesQue acontece quando o intérprete encontra a instrução cidade=“Coimbra” ?
1.É criado um objecto num determinado local da memória, que consiste na sequência de valores ASCII relativos aos caracteres C,o,i,m,b,r,a
2.É criado um identificador (um nome) cidade que passa a referir o objecto criado em 1.
Daqui para a frente sempre que se faça referência a cidadeestaremos a referir-nos ao objecto criado em 1.
3
© Luís Cruz - 2004 57
Nomes - Regras
1. O primeiro caracter tem de ser uma letra ou underscore(_), podendo os seguintes ser quaisquer caracteres alfanuméricos. Ou seja:• dois_pontos, _pontos são nomes válidos mas,• 2_pontos não é um nome válido
2. Notar que Dois_pontos e dois_pontos são nomes diferentes (case sensitive)
3. Há palavras reservadas que não podem ser utilizadas como nomes:and, assert, break, class, continue, def, del, elif, else, except, exec, finally, for, from, global, if, import, in, is, lambda, not, or, pass, print, raise, return, try, while
© Luís Cruz - 2004 58
Dados – Tipos Suportados
Básicos
lNúmeros inteiroslNúmeros em vírgula flutuantelNúmeros complexoslCadeias de caracteres
4
© Luís Cruz - 2004 59
Inteiros
Permitem representar números inteiros com os seguintes limites :
lNormal (32 bits)– Valores de -231=-2147483648 a 231-1= 2147483647
lLongos
– Gama de valores sem limite
© Luís Cruz - 2004 60
InteirosRepresentação de literais inteiros : são permitidos digítosdecimais, hexadecimais ou octais.
Exemplos :>>> 123 # Literal decimal123>>> 0xBABA # Literal hexadecimal começa por 0x ou 0X (zero X)47802>>> 077 # Literal Octal; começa por 0 (zero) 63>>> 078File "<stdin>", line 1
078^
SyntaxError: invalid token
Python converteu valor para decimal antes de imprimir
Python converteu valor para decimal antes de imprimir
} Erro !
5
© Luís Cruz - 2004 61
Inteiros
Função type() devolve tipo de dado. No caso de inteiros...
>>> type(1)<type ´int´>>>> a=2>>> type(a)<type ´int´>>>> type(0xff)<type ´int´>>>> type(“0xff”) # ?<type ´string´>
Porquê ?
© Luís Cruz - 2004 62
Operações sobre Inteiros
Os inteiros suportam as operações aritméticas usuais...
Adição (+) e Subtracção (-) >>> 3+25
Multiplicação (*) >>> 3*26
Divisão (/) >>> 6/23>>> 5/22>>> -1/2-1
Divisão de inteirosResultado é quociente
Atenção !
6
© Luís Cruz - 2004 63
Operações sobre Inteirose outras...
Potenciação (**) >>> 3**2 # Três ao quadrado9
Resto de Divisão (%) >>> 3%21
Divisão com Quociente e Resto >>> divmod(5,2)
(2,1)>>> divmod(-1,2)(-1,1)
© Luís Cruz - 2004 64
Vírgula Flutuante
Permitem representar reais de acordo com a norma IEEE 754, em precisão dupla (64 bits), que como vimos já, suporta valores com magnitude de 2.2e-308 a 1.8e308.
Os literais em vírgula flutuante seguem o formato +/-{mmm}e{exp}, +/-{mmm}E{exp} ou simplesmente ddd.ddd
Exemplos: >>> 1.2345e412345.0>>> 1e-20.01>>> 1.51.5
7
© Luís Cruz - 2004 65
Vírgula FlutuanteA função type() devolve neste caso <type ´float´>.
Exemplo: >>> pi_apr=3.1415926>>> type(pi_apr)<type 'float'>>>> type(1.0)<type 'float'>
As operações suportadas pelos número em vírgula flutuante são as usuais; adição, subtracção, multiplicação e divisão. No entanto...
>>> 5.0/2.02.5 Divisão Real
© Luís Cruz - 2004 66
Números Complexos
Números complexos a+jb introduzidos usando a forma a+bj , a+bJ ou complex(a,b).
Exemplos: >>> 1+2j(1+2j)>>> complexo=3+4J>>> print complexo(3+4j)>>> complexo_2=complex(-1,1)>>> print complexo_2(-1+1j)>>> complexo_3=complex(-1,0)>>> print complexo_3(-1+0j)
Parte real e parte imaginária representadas com 64 bits de precisão.
8
© Luís Cruz - 2004 67
Números Complexos
Para extrair a parte real ou imaginária de um complexo usam-se as instruções <nome_do_complexo>.real e <nome_do_complexo>.imag
Exemplos:>>> compl=3+4J>>> compl.real3.0>>> compl.imag4.0>>>compl.real**2+compl.imag**2 # Quadrado do
módulo25.0
© Luís Cruz - 2004 68
Números Complexos
O módulo (valor absoluto) obtém-se fazendo abs(<complexo>), e claro que pode somar (+), subtrair (-), multiplicar (*) e dividir (/) complexos.
Exemplos:>>> complexo=3+4J>>> abs(complexo) # Modulo5.0>>> complexo*(1+1j)(-1+7j)>>> complexo+(2+3j)(5+7j)>>> complexo/(0+2j)(2-1.5j)
9
© Luís Cruz - 2004 69
Cadeias de Caracteres (Strings)São (em geral) pequenas sequências de caracteres alfanuméricos, que representam pedaços de texto.
Exemplos :
>>> cadeia_longa=“Uma cadeia de 27 caracteres”>>> cadeia_curta="outra so com 15“>>> cadeia_vazia="">>> print cadeia_vazia
>>> cadeia_multi_linha="""Esta cadeia comeca na linha 1continua na linha 2 etermina na linha 3""">>> print cadeia_multi_linhaEsta cadeia comeca na linha 1continua na linha 2 etermina na linha 3>>>
© Luís Cruz - 2004 70
Cadeias de Caracteres (Strings)Os marcadores de início e fim da cadeia podem ser aspas (“) ou pelicas (´).
Quando pretendemos utilizar aspas (ou pelicas) como um dos caracteres da cadeia temos de o fazer usando uma sequência de escape que consiste na barra (\) seguida da aspa (ou pelica).
Exemplos : >>> cadeia=“Ele disse \”Terminei\” antes do fim”>>> print cadeiaEle disse “Terminei" antes do fim>>> cadeia_pel=‘Cadeia com pelica (\’) dentro‘>>> print cadeia_pelCadeia com pelica (') dentro
10
© Luís Cruz - 2004 71
Cadeias de Caracteres (Strings) –Concatenação
Podem juntar-se várias cadeias de caracteres para formar uma cadeia maior: operação de concatenação.
Exemplos: >>> titulo=“Dr.”>>> nome=“Egas”>>> sobrenome=“Moniz”>>> completo=titulo+nome+sobrenome>>> print completoDr.EgasMoniz>>> completo=titulo+” “+nome+” “+sobrenome>>> print completoDr. Egas Moniz
Oops... Faltam os espaços !
© Luís Cruz - 2004 72
Cadeias de Caracteres (Strings) -Fatiagem
É também possível retirar (ou aceder) a uma parte da cadeia de caracteres: operação de fatiagem (slicing em Inglês).
A expressão <nome_da_cadeia>[primeiro:ultimo+1] designa a secção desde o caracter na posição primeiroaté ao caracter na posição ultimo. O primeiro caracter tem índice 0.
Exemplos: >>> cadeia=“abcdef”>>> print cadeia[0:3]abc>>> print cadeia[3:6]+cadeia[0:3]defabc
11
© Luís Cruz - 2004 73
Cadeias de Caracteres (Strings) -Fatiagem
Para determinar o número de caracteres da cadeia usa-se a função len().
Exemplo:>>> cadeia=“abcdef”>>> len(cadeia)6
Há ainda formas particulares da especificação das fatias:
l <nome_cadeia>[posicao] com posicao designa o caracter que se encontra na posicao posicao a contar do início (a partir de 0). Se posicao for negativo, designa o caracter que se encontra na posicaoposicao a contar do fim,
l <nome_cadeia>[:ultimo+1] designa todos os elementos desde o início até ao de índice ultimo,
l <nome_cadeia>[primeiro:] designa todos os elementos desde o de índice primeiro até ao fim da cadeia,
© Luís Cruz - 2004 74
Cadeias de Caracteres (Strings) -Fatiagem
Exemplos:>>> cadeia=“0123456789”>>> len(cadeia)10>>> print cadeia[0]0>>> print cadeia[:5]01234>>> print cadeia[5:len(cadeia)]56789>>> print cadeia[-1]9>>> print cadeia[-5:-1]5678>>> print cadeia[-5:]56789
12
© Luís Cruz - 2004 75
Sequências - Tuplasl Sequência de valores separados por vírgulas.l Elementos podem ser de vários tipos.l Endereçáveis, com índice 0 para o primeiro elemento
Exemplos :>>> tupla="Computadores e Programacao", \
"Semestral", \1,\50 # Nome, tipo, semestre, alunos
>>> tupla('Computadores e Programacao', 'Semestral', 1, 50)>>> nome=tupla[0] # Exemplo de acesso ao primeiro elemento>>> print nomeComputadores e Programacao>>> len(tupla) # Numero de elementos4
© Luís Cruz - 2004 76
Sequências - Tuplasl Podem ser introduzidas com ou sem parênteses.l É possível introduzir tuplas com ZERO e UM elementos
Exemplos :
>>> tupla_dupla=("Primeiro","Segundo")>>> len(tupla_dupla)2>>> tupla_simples=("Um só",) # Virgula é obrigatória>>> len(tupla_simples)1>>> tupla_vazia=()>>> len(tupla_vazia)0
13
© Luís Cruz - 2004 77
Sequências - Tuplas
l Tuplas são imutáveis, i.e., após criada uma tupla, não épossível alterar os seus elementos
Exemplos :
>>> tupla_dupla=("Primeiro","Segundo")>>> tupla_dupla[0]="Um"
Traceback (most recent call last):File "<pyshell#36>", line 1, in -toplevel-tupla_dupla[0]="Um"
TypeError: object doesn't support item assignment>>>
Erro !
© Luís Cruz - 2004 78
Sequências - Tuplasl É possível desagregar uma tupla sem aceder aos seus
elementos um a um.
Exemplos :
>>> quadriga="Ein","Zwei","Drei","Vier">>> um,dois,tres,quatro=quadriga # Desagregar tupla>>> print umEin>>> print doisZwei>>> print tresDrei>>> print quatroVier
14
© Luís Cruz - 2004 79
Sequências – Tuplas - Operações
val in tupla devolve 1 (True) se val faz parte de tupla ou 0 (False) caso contrário.
Exemplo :>>> tupla="Um", 1, 1.0, 2, "Dois", 1+2j>>> 1+2j in tuplaTrue>>> 1.5 in tuplaFalse>>> 2 in tuplaTrue>>> "dois" in tuplaFalse
© Luís Cruz - 2004 80
Sequências – Tuplas - Operações
tupla_1 + tupla_2 resulta numa tupla que é a concatenação de tupla_1 e tupla_2
Exemplo :
>>> tupla="Um", 1, 1.0, 2, "Dois", 1+2j>>> tupla_2=“abc”,(1,2) # Tupla com sub-tupla !>>> tupla_concat=tupla+tupla_2>>> print tupla_concat('Um', 1, 1.0, 2, 'Dois', (1+2j), 'abc', (1, 2))
15
© Luís Cruz - 2004 81
Sequências – Tuplas - Operações
tupla * numero resulta numa tupla que é a repetição detupla numero vezes
Exemplo :
>>> tupla=“abc”,(1,2) # Tupla com sub-tupla !>>> tupla*2('abc', (1, 2), 'abc', (1, 2))>>> 3*tupla('abc', (1, 2), 'abc', (1, 2), 'abc', (1, 2))>>> 0*tupla()
© Luís Cruz - 2004 82
Sequências – Tuplas - Operações
min(tupla) devolve o valor mínimo presente na tuplamax(tupla) devolve o valor máximo presente na tupla
Exemplos :
>>> tupla=1,3,-1,0,1001>>> min(tupla)-1>>> max(tupla)1001
16
© Luís Cruz - 2004 83
Sequências - Listasl Sequências de valores separados por vírgulas e delimitadas por
parênteses rectos.l Elementos podem ser de vários tipos.l Endereçáveis, com índice 0 para o primeiro elemento.
Exemplos :
>>>lista_mista=["Pao","fiambre","queijo",1,3.14,3+4j]>>>lista_de_listas=[["uma","lista"],["outra","lista"]]>>> lista_de_listas[0]
['uma', 'lista']>>> lista_de_listas[0][1]
'lista'
© Luís Cruz - 2004 84
Sequências - Listas
l Pode criar-se uma lista vazia...
>>> lista_vazia=[]>>> len(lista_vazia)0
l Ao contrário das tuplas, as listas são mutáveis...>>> lista_mista=["Pao","fiambre","queijo",1,3.0,3+4j]>>> lista_mista[3]="alface">>> lista_mista['Pao', 'fiambre', 'queijo', 'alface', 3.0, (3+4j)]
17
© Luís Cruz - 2004 85
Sequências - Listas
Suportam operações fatiagem de forma idêntica às cadeias de caracteres.
Exemplos :
>>> lista_mista=["Pao","fiambre","queijo","alface","tomate"]>>> lista_mista[2:4]['queijo', 'alface']>>> lista_mista[-2:]['alface', 'tomate']>>> lista_mista[0::2]['Pao', 'queijo', 'tomate']>>> lista_mista[0:5:2]['Pao', 'queijo', 'tomate']>>> lista_mista[0::2]['Pao', 'queijo', 'tomate']>>> lista_mista[1:3]=["salame","manteiga"]>>> lista_mista['Pao', 'salame', 'manteiga', 'alface', 'tomate']
© Luís Cruz - 2004 86
Sequências – Listas - Operações
Também as listas podem ser desagregadas ou desempacotadas...
>>> lista_mista['Pao', 'salame', 'manteiga', 'alface', 'tomate']>>> x,y,z,w,v=lista_mista>>> x'Pao'>>> y'salame'>>> z'manteiga'>>> w'alface'>>> v'tomate'
18
© Luís Cruz - 2004 87
Sequências – Listas - Operações
val in lista devolve 1 (True) se val faz parte de listaou 0 (False) caso contrário.
Exemplo :>>> lista=["Um", 1, 1.0, 2, "Dois", 1+2j]>>> 1+2j in listaTrue>>> 1.5 in listaFalse>>> 2 in listaTrue>>> "dois" in listaFalse
© Luís Cruz - 2004 88
Sequências – Listas - Operações
lista_1 + lista_2 resulta numa lista que é a concatenação de lista_1 e lista_2
Exemplo :
>>> lista_1=["Joao","Maria","Antonio"]>>> lista_2=["Vasilyev",“Irina","William"]>>> lista_conc=lista_1+lista_2>>> lista_conc['Joao', 'Maria', 'Antonio', 'Vasilyev', 'Irina', 'William']
19
© Luís Cruz - 2004 89
Sequências – Listas - Operações
lista * numero resulta numa lista que é a repetição de lista numero vezes
Exemplos :>>> telefones=["936464464","239444444"]>>> telefones*2 # 2 vezes['936464464', '239444444', '936464464', '239444444']>>> telefones*0 # 0 vezes[]>>> telefones*-1[]
© Luís Cruz - 2004 90
Sequências – Listas - Operações
min(lista) devolve o valor mínimo presente nalistamax(lista) devolve o valor máximo presente nalista
Exemplos :
>>> lista=[1,3,-1,0,1001]>>> min(lista)-1>>> max(lista)1001
20
© Luís Cruz - 2004 91
Sequências – Listas - Operaçõeslista.pop() remove o último elemento da listaultimo = lista.pop() devolve o último elementoda lista, retirando-o da mesma
Exemplos :
>>> lista=[1,2,3,4]>>> lista.pop()4>>> lista[1, 2, 3]>>> b=lista.pop()>>> lista[1, 2]>>> b3
© Luís Cruz - 2004 92
Sequências – Listas - Operaçõeslista.remove(item) remove o elemento da listaque contém item (caso exista).
Exemplos :
>>> lista=[1,2,3,"texto",4,5,6]>>> lista.remove(3)>>> lista[1, 2, 'texto', 4, 5, 6]>>> lista.remove("TEXTO")
Traceback (most recent call last):File "<pyshell#34>", line 1, in -toplevel-
lista.remove("TEXTO")ValueError: list.remove(x): x not in list>>> lista.remove("texto")>>> lista[1, 2, 4, 5, 6]
21
© Luís Cruz - 2004 93
Sequências – Listas - Operações
Outra forma de remover elementos, usando fatiagem:
>>> lista=[1,2,3,"texto",4,5,6]>>> lista[3:4]=[]>>> lista[1, 2, 3, 4, 5, 6]
Para as listas a função len() devolve o número de elementos da lista:
>>> lista=[1,2,3,"texto",4,5,6]>>> len(lista)7
© Luís Cruz - 2004 94
Sequências – Listas - Operações
Podemos acrescentar elementos a uma lista assim:
>>> lista=["um",2,"III"]>>> lista.append("5-1") # acrescenta ao fim>>> lista['um', 2, 'III', '5-1']
ou assim:
>>> lista=[1,2,4,5]>>> lista[2:2]=[3] # Insere na posição 2>>> lista[1, 2, 3, 4, 5]
22
© Luís Cruz - 2004 95
Mapeamentos - Dicionários
l Permitem armazenar pares de valores do tipo chave:informação,
l Criam-se delimitando com chavetas um conjunto de pares chave:informação separados por vírgulas.
Exemplo:
>>> classificacoes={"Maria":12,"Carlos":14,"Julio":18}
© Luís Cruz - 2004 96
Mapeamentos - Dicionários
l Acesso é feito através de valores da chave.
Exemplo:>>> classificacao={"Maria":12,"Carlos":14,"Julio":18}>>> classificacao[“Julio”]18
l Número de elementos (pares) obtido por len().
Exemplo:
>>> classificacao={"Maria":12,"Carlos":14,"Julio":18}>>> len(classificacao)3
23
© Luís Cruz - 2004 97
Mapeamentos - Dicionários
l Inserção de elementos
dicionario[nova_chave]=nova_informação
Exemplo:
>>> classificacao={"Maria":12,"Carlos":14,"Julio":18}>>> classificacao{'Julio': 18, 'Carlos': 14, 'Maria': 12}>>> classificacao["Joana"]=18>>> classificacao{'Julio': 18, 'Joana': 18, 'Carlos': 14, 'Maria': 12}
© Luís Cruz - 2004 98
Mapeamentos - Dicionários
l Substituição de informação de um par
dicionario[chave]=nova_informação
Exemplo:>>> classificacao={"Maria":12,"Carlos":14,"Julio":18}>>> classificacao{'Julio': 18, 'Carlos': 14, 'Maria': 12}>>> classificacao["Carlos"]=16 # Melhoria funcionou ☺>>> classificacao{'Julio': 18, 'Carlos': 16, 'Maria': 12}
24
© Luís Cruz - 2004 99
Mapeamentos - Dicionários
l Remoção de um par conhecida a chave
del dicionario[chave]
Exemplo:
>>> classificacao={"Maria":12,"Carlos":14,"Julio":18}>>> del classificacao[“Maria”]>>> classificacao{'Julio': 18, 'Carlos': 14}
© Luís Cruz - 2004 100
Mapeamentos - Dicionários
l Apagar o conteúdo do dicionário
dicionario.clear() # Usar com cuidado!
Nota : Não é o mesmo que del dicionário.
Exemplo:
>>> classificacao={"Maria":12,"Carlos":14,"Julio":18}>>> classificacao.clear()>>> classificacao{}
25
© Luís Cruz - 2004 101
Mapeamentos - Dicionários
l Listagem de todas as chaves
dicionario.keys()
Exemplo:
>>> classificacao={"Maria":12,"Carlos":14,"Julio":18}>>> classificacao.keys()['Julio', 'Carlos', 'Maria']
© Luís Cruz - 2004 102
Mapeamentos - Dicionários
l Listagem de todos os campos de informação
dicionario.values()
Exemplo:
>>> classificacao={"Maria":12,"Carlos":14,"Julio":18}>>> classificacao.values()[18, 14, 12]
26
© Luís Cruz - 2004 103
Mapeamentos - Dicionáriosl Procura de uma chave
dicionario.has_key(chave_que_se_procura)
Nota : É equivalente a chave_que_se_procura indicionario
Exemplo:>>> classificacao={"Maria":12,"Carlos":14,"Julio":18}>>> classificacao.has_key(“Julio”)True>>> classificacao.has_key(“Diana”)False
© Luís Cruz - 2004 104
Operações Lógicas (ou Booleanas)
Valores Lógicos
Verdadeiro :True, ou qualquer valor diferente de 0Falso :False ou 0
Operações Lógicas Comuns (Prioridade Crescente)
x or y : verdadeiro se x ou y são verdadeirosx and y: verdadeiro se x e y são verdadeirosnot x : verdadeiro se x falso e v.v.
27
© Luís Cruz - 2004 105
Operações Lógicas (ou Booleanas)
Operadores Lógicos em Python (Prioridade Crescente)
x or y : se x é Falso resultado é y caso contrário xx and y : se x é Falso resultado é x caso contrário ynot x : se x é Falso resultado é Verdadeiro e v.v.
© Luís Cruz - 2004 106
Operadores Relacionais
a < b : resultado True se a é menor que ba > b : resultado True se a é maior que ba <= b : resultado True se a é menor ou igual que ba >= b : resultado True se a é maior ou igual que ba == b : resultado True se a é igual a ba != b : resultado True se a é diferente de ba <> b : resultado True se a é diferente de ba < b < c: resultado True se a é menor que b e b
menor que c
28
© Luís Cruz - 2004 107
Controlo de fluxo - if
Execução Condicional
if (exp_log_1):bloco de instruções 1 # exp_log_1 é
verdadeiraelif (exp_log_2):bloco de instruções 2 # exp_log_2 é
verdadeiraelse:bloco de instruções 3 # casos restantes
© Luís Cruz - 2004 108
Controlo de fluxo - ifExemplos
if chuva==False:print “Esta um dia óptimo! Vou sem casaco.”
else:print “Bolas, tenho que levar o guarda-chuva!”
if euros_no_bolso >= 20:print “Vamos ao pub. Pago uma rodada.”
elif euros_no_bolso >= 10:print “Vamos ao cinema. Pago as pipocas.”
elif euros_no_bolso >= 5:print “Vou ao cinema. Sozinho...”
else:print “Não me queres pagar o jantar ?”
29
© Luís Cruz - 2004 109
Controlo de fluxo - for
Execução repetida de instruções consegue-se com for
Sintaxe
for <var_ciclo> in <sequência>:bloco de instruções
else:bloco de instruçõesa executar se ciclo terminar
© Luís Cruz - 2004 110
Controlo de fluxo - for
Exemplos
autores=(“Camões”,”Pessoa”,”Torga”) # Tuplafor autor in autores:print autor,”foi um grande escritor!”
inteiros_de_0_ate_10=range(11) # Listafor numero in inteiros_de_0_ate_10:print numero
cadeia=“Programação”for caracter in cadeia:print caracter
30
© Luís Cruz - 2004 111
Controlo de fluxo – break, continue, pass
break - se executado dentro de um ciclo (for, while) termina a execução deste, passando-se àinstrução seguinte,
continue - se executado dentro de um ciclo (for, while), passa à iteração seguinte do ciclo,
pass – não faz nada, podendo ser útil em certos casos
© Luís Cruz - 2004 112
Controlo de fluxo – break, continue, pass
Exemplos (com for)
for numero in range(1,31):if numero%3==0: continue # Salta multiplosde 3print numero
lista_nomes=[“Julio”,”Marcelo”,”Inês”,”Antonio”]
for nome in lista_nomes:if nome==“César”: break
else:print “\”Cesar\” não faz parte da lista”
31
© Luís Cruz - 2004 113
Listas de numeros – range() e xrange()
Ø range(num) devolve uma lista de num inteiros com início em 0
Ø range(prim,ultim+1) devolve uma lista de inteiros seguidos de prim a ultim+1 (excluído)
Ø range(prim,ultim+1,passo) devolve uma lista de inteiros de prim a ultim+1 (excluído) espaçados de passo unidades
Ø xrange tem comportamento idêntico a range, sendo indicado para utilização em ciclos, quando a lista a gerar contém muitos elementos, pois vai gerando os números pretendidos à medida que estes vão sendo “consumidos” pela iteração.