Podemos encontrar vários (e muito bons) exemplos de códigos Python no endereço a seguir:
http://www.scriptbrasil.com.br/codigos/python/
Ide - Exmplo da ide Eric e como instalar!
Eric Ide – O que é isto ?
Eric é uma completa ferramenta para edição de Python e Ruby. (Detalhe: Ela é escrita em Python)
É baseada em QT, o que a torna uma ferramenta compatível para qualquer sistema operacional onde se possa instalar o Python. Esta ide foi feita para ser utilizada para programar de maneira rápida e também para ser utilizada como gestora de projetos. Esta ferramenta inclui um sistema de plugins que podem ser baixados diretamente do programa, o que torna esta ide bastante extensível.
Página do Eric: http://eric-ide.python-projects.org/Informações mais detalhadas sobre a ide estão disponíveis no site.
Instalando a Ide ...
Para instalar esta ide, precisamos atender alguns pré-requisitos...
· Python ( lógico ) rsrsrs
· PyQT - Download PyQT
· Eric – Download do Eric
Observações:
O download do PyQt deve ser feito de acordo com a versão do Python que foi instalada em seu computador.
Todos os arquivos estão disponibilizados no site: http://www.riverbankcomputing.co.uk/software/pyqt/download
Após feito o download, instale o PyQt ...
Eric é uma completa ferramenta para edição de Python e Ruby. (Detalhe: Ela é escrita em Python)
É baseada em QT, o que a torna uma ferramenta compatível para qualquer sistema operacional onde se possa instalar o Python. Esta ide foi feita para ser utilizada para programar de maneira rápida e também para ser utilizada como gestora de projetos. Esta ferramenta inclui um sistema de plugins que podem ser baixados diretamente do programa, o que torna esta ide bastante extensível.
Página do Eric: http://eric-ide.python-projects.org/Informações mais detalhadas sobre a ide estão disponíveis no site.
Instalando a Ide ...
Para instalar esta ide, precisamos atender alguns pré-requisitos...
· Python ( lógico ) rsrsrs
· PyQT - Download PyQT
· Eric – Download do Eric
Observações:
O download do PyQt deve ser feito de acordo com a versão do Python que foi instalada em seu computador.
Todos os arquivos estão disponibilizados no site: http://www.riverbankcomputing.co.uk/software/pyqt/download
Após feito o download, instale o PyQt ...
Depois de instalado, descompacte o Eric onde desejar que ele fique instalado. No meu caso, descompactei em uma pasta na raiz do disco chamada EricIDE ...
Entre no prompt-comando:
Entre no diretório em que você descompactou o Eric.
E rode o seguinte comando.
Python install.py
Python install.py
Aguarde até o fim deste processo, e depois, entre no Windows Explorer, na pasta onde você colocou o Eric, e encontre o arquivo eric4.py
É só clicar 2 vezes e está funcionando a sua ide...
Depois é só ajustar de acordo com as suas necessidades...
API ( Algumas Demonstrações)
Os módulos que estão logo abaixo, fazem parte da biblioteca padrão Python.
Reconhecimento de Padrões em Strings.
O módulo 're' fornece ferramentas para lidar com processamento de strings através de expressões regulares. Para reconhecimento de padrões complexos e manipulações elaboradas, expressões regulares oferecem uma solução sucinta e eficiente:
>>> import re
>>> re.findall(r’\bf[a-z]*’, ’which foot or hand fell fastest’)
[’foot’, ’fell’, ’fastest’]
>>> re.sub(r’(\b[a-z]+) \1’, r’\1’, ’cat in the the hat’)
’cat in the hat’
Quando as exigências são simples, métodos de strings são preferíveis por serem mais fáceis de ler e depurar:
>>> ’Ronaldo brilha’.replace(’brilha’, ’Curintxia’)
’Ronaldo Curintxia’
Matemática
O módulo math oferece acesso às funções da biblioteca C para matemática e ponto flutuante:
>>> import math
>>> math.cos(math.pi / 4.0)
0.70710678118654757
>>> math.log(1024, 2)
10.0
O módulo random fornece ferramentas para gerar seleções aleatórias:
>>> import random
>>> random.choice([’maca’, ’pera’, ’banana’])
’maca’
>>> random.sample(xrange(100), 10) # sampling without replacement
[30, 83, 16, 4, 8, 81, 41, 50, 18, 33]
>>> random.random() # random float
0.17970987693706186
>>> random.randrange(6) # random integer chosen from range(6)
4
Reconhecimento de Padrões em Strings.
O módulo 're' fornece ferramentas para lidar com processamento de strings através de expressões regulares. Para reconhecimento de padrões complexos e manipulações elaboradas, expressões regulares oferecem uma solução sucinta e eficiente:
>>> import re
>>> re.findall(r’\bf[a-z]*’, ’which foot or hand fell fastest’)
[’foot’, ’fell’, ’fastest’]
>>> re.sub(r’(\b[a-z]+) \1’, r’\1’, ’cat in the the hat’)
’cat in the hat’
Quando as exigências são simples, métodos de strings são preferíveis por serem mais fáceis de ler e depurar:
>>> ’Ronaldo brilha’.replace(’brilha’, ’Curintxia’)
’Ronaldo Curintxia’
Matemática
O módulo math oferece acesso às funções da biblioteca C para matemática e ponto flutuante:
>>> import math
>>> math.cos(math.pi / 4.0)
0.70710678118654757
>>> math.log(1024, 2)
10.0
O módulo random fornece ferramentas para gerar seleções aleatórias:
>>> import random
>>> random.choice([’maca’, ’pera’, ’banana’])
’maca’
>>> random.sample(xrange(100), 10) # sampling without replacement
[30, 83, 16, 4, 8, 81, 41, 50, 18, 33]
>>> random.random() # random float
0.17970987693706186
>>> random.randrange(6) # random integer chosen from range(6)
4
Tratamento de Exceções
Exceções
Mesmo que um comando ou expressão estejam sintaticamente corretos, talvez ocorra um erro na hora de sua execução. Erros detectados durante a execução são chamados exceções e não são necessariamente fatais. Logo veremos como tratá-las em programas Python. A maioria das exceções não são tratadas e acabam resultando em mensagens de erro:
>>> 10 * (1/0)
Traceback (most recent call last):
File "", line 1, in ?
ZeroDivisionError: integer division or modulo by zero
>>> 4 + spam*3
Traceback (most recent call last):
File "", line 1, in ?
NameError: name ’spam’ is not defined
>>> ’2’ + 2
Traceback (most recent call last):
File "", line 1, in ?
TypeError: cannot concatenate ’str’ and ’int’ objects
A última linha da mensagem de erro indica o que aconteceu. Exceções surgem com diferentes tipos, e o tipo é impresso como parte da mensagem . Os tipos no exemplo são: ZeroDivisionError, NameError eTypeError. A string impressa como sendo o tipo da exceção é o nome interno da exceção que ocorreu. Isso éverdade para todas exceções pré-definidas em Python, mas não é necessariamente verdade para exceções definidas pelo usuário. O resto da linha é um detalhamento que depende do tipo da exceção ocorrida e sua causa. A parte anterior da mensagem de erro apresenta o contexto onde ocorreu a exceção. Essa informação é denominada stack traceback (N.d.T: rastreamento da pilha para trás). Em geral, contém uma lista de linhas do código fonte, sem apresentar, no entanto, valores lidos da entrada padrão.
Tratamento de Exceções
É possível escrever programas que tratam exceções específicas. Observe o exemplo seguinte, que pede dados ao usuário até que um inteiro válido seja fornecido, ainda permitindo que o programa seja interrompido (utilizando Control-C ou seja lá o que for que o sistema operacional suporte). Note que uma interrupção gerada pelo usuário será sinalizada pela exceção KeyboardInterrupt.
>>> while True:
... try:
... x = int(raw_input("Entre com um número: "))
... break
... except ValueError:
... print "Opa! Esse número não é válido. Tente de novo..."
...
A construção try funciona da seguinte maneira:
• Primeiramente, a cláusula try (o conjunto de comandos entre as palavras reservadas try e except ) é executado.
• Se não for gerada exceção, a cláusula except é ignorada e termina a execução da construção try.
• Se uma execução ocorre durante a execução da cláusula try, os comandos remanescentes na cláusula são ignorados. Se o tipo da exceção ocorrida tiver sido previsto junto àlguma palavra-reservada except, entãoessa cláusula será executada. Ao fim da cláusula também termina a execução do try como um todo.
• Se a exceção ocorrida não foi prevista em nenhum tratador except da construção try em que ocorreu,então ela é entregue a uma construção try mais externa. Se não existir nenhum tratador previsto para tal exceção (chamada unhandled exception), a execução encerra com uma mensagem de erro. A construção try pode ter mais de uma cláusula except para especificar múltiplos tratadores para diferentes exceções. No máximo um único tratador será ativado. Tratadores só são sensíveis as exceções levantadas nointerior da cláusula try, e não que tenha ocorrido no inteiror de outro tratador num mesmo try. Um tratadorpode ser sensível a múltiplas exceções, desde que as especifique em uma tupla:
... except (RuntimeError, TypeError, NameError): ... pass
(Meterial retirado do endereço web http://www.python.org)
Recursos de Modularização e "Orientação a Objetos"
1. Introdução
Python não força o programador a pensar em objetos, mas eles fazem parte da linguagem desde o início, incluindo conceitos avançados como sobrecarga de operadores, herança múltipla e introspecção. Com sua sintaxe simples, é muito natural aprender orientação a objetos em Python, pois existem classes prontas e fáceis de usar para acessar bancos de dados, montar aplicações gráficas, processar XML e realizar inúmeras outras tarefas.
As instruções a seguir foram traduzido de "Estrutura de Dados e Algoritmos com Padrões de Projetos Orientado a Objeto em Python de Bruno R. Preiss" elas identificam e descrevem as características da linguagem de programação Python.
2. Objetos e Tipos de dados
Um objeto em linguagem de programação abstrata representa a posição onde será armazenada. Os objetos em Python apresentam os seguintes atributos:
* Tipo: O tipo de um objeto determina os valores que o objeto pode receber e as operações que podem ser executadas nesse objeto.
* Valor: O valor de um objeto é o índice de memória ocupada por essa variável. Como os índices das posições da memória são interpretados, isto é determinado pelo tipo da variável.
* Tempo de vida: A vida de um objeto é o intervalo de tempo de execução de um programa em Python, é durante este tempo que o objeto existe.
3. Nomes
A fim de utilizar um objeto em um programa em Python, esse objeto deve ter um nome. O nome de um objeto é uma variável usada para identificar esse objeto em um programa. Em Python, um objeto não pode ter zero, um ou mais no nome.
Veja: 1 i = 57
Esta indicação cría um objeto com nome i e liga vários atributos com esse objeto. O tipo do objeto é int e seu valor é 57.
Alguns atributos de um objeto, tal como seu tipo, são limitados quando o objeto é criado e não podem serer mudados. Isto é chamado ligação estática.
As ligações para outros atributos de um objeto, tais como seu valor, podem ser mudados durante a execução do programa onde o objeto está. Isto é chamado de ligação dinâmica.
Veja:
Veja: 1 i = 57
Esta indicação cría um objeto com nome i e liga vários atributos com esse objeto. O tipo do objeto é int e seu valor é 57.
Alguns atributos de um objeto, tal como seu tipo, são limitados quando o objeto é criado e não podem serer mudados. Isto é chamado ligação estática.
As ligações para outros atributos de um objeto, tais como seu valor, podem ser mudados durante a execução do programa onde o objeto está. Isto é chamado de ligação dinâmica.
Veja:
1 i = int(57)
Se nós seguirmos esta indicação com uma indicação de atribuição como:
Se nós seguirmos esta indicação com uma indicação de atribuição como:
1 j = i
então os nomes i e j são o mesmo objeto!
A comparação ficaria:
então os nomes i e j são o mesmo objeto!
A comparação ficaria:
1 if i == j:
2 print "valores iguais"
este é o teste se o valor do objeto i é o mesmo valor do objeto j (desde que sejam de mesmo valor). Entretanto, é possível para dois objetos distintos terem o mesmo valor. Para testar se os dois nomes são um mesmo objeto, é necessário utilizar o operador is:
1 if i is j:
2 print "mesmo objeto"
Para saber se os tipos de dados de dois objetos são iguais é necessário:
1 i = 57
2 j = 47
3 if type(i) == type(j):
4 print "mesmo tipo"
4. Passagem de Parâmetros
A passagem de parâmetro é um método em que os parâmetros são transferidos entre métodos quando um método chama outro. Python fornece somente um método da passagem de parâmetro, passagem-por-referência.
Considere o par de métodos definidos abaixo. Na linha 4, o método um chama o método dois. Em geral, cada chamada do método inclui a lista de argumentos, possivelmente vazio. Os argumentos especificados em uma chamada do método são chamados parâmetros reais. Neste caso, há somente um parâmetro real, o x.
Considere o par de métodos definidos abaixo. Na linha 4, o método um chama o método dois. Em geral, cada chamada do método inclui a lista de argumentos, possivelmente vazio. Os argumentos especificados em uma chamada do método são chamados parâmetros reais. Neste caso, há somente um parâmetro real, o x.
1 def um():
2 x = 1
3 print x
4 dois(x)
5 print x
6
7 def dois(y):
8 print y
9 y = 2
10 print y
Na linha 7 o método dois é definido como um método que aceita um único argumento y. Os argumentos que aparecem na definição do método são chamados parâmetros formais.
A semântica da passagem-por-referência é: O efeito da definição do parâmetro formal deve criar um nome no namespace local da função e ligá-lo então o nome ao objeto pelo parâmetro real. Por exemplo, no método dois o parâmetro formal é y. Quando o método é chamado, o nome y está atribuído ao objeto x.
A saída do método um ficará:
1 1 2 1
E a saída do método dois com o parâmetro 3 ficará:
2 3
A semântica da passagem-por-referência é: O efeito da definição do parâmetro formal deve criar um nome no namespace local da função e ligá-lo então o nome ao objeto pelo parâmetro real. Por exemplo, no método dois o parâmetro formal é y. Quando o método é chamado, o nome y está atribuído ao objeto x.
A saída do método um ficará:
1 1 2 1
E a saída do método dois com o parâmetro 3 ficará:
2 3
5. Classes
Uma classe define uma estrutura de dados que contenha instância de atributos, instância de métodos e classes aninhadas. Em Python a classe de um objeto e o tipo de um objeto são sinônimos. Cada objeto do Python tem uma classe (tipo) que é derivada diretamente ou indiretamente da classe interna do objeto do Python. A classe (tipo) de um objeto determina o que é e como pode ser manipulado. Uma classe encapsula dados, operações e semântica.
A classe é o que faz com que Python seja uma linguagem de programação orientada a objetos. Classe é definida como um agrupamento de valores sua gama de operações. As classes facilitam a modularidade e abstração de complexidade. O usuário de uma classe manipula objetos instanciados dessa classe somente com os métodos fornecidos por essa classe. Frequentemente classes diferentes possuem características comuns. As classes diferentes podem compartilhar valores comuns e podem executar as mesmas operações. Em Python tais relacionamentos são expressados usando derivação e herança.
A classe é o que faz com que Python seja uma linguagem de programação orientada a objetos. Classe é definida como um agrupamento de valores sua gama de operações. As classes facilitam a modularidade e abstração de complexidade. O usuário de uma classe manipula objetos instanciados dessa classe somente com os métodos fornecidos por essa classe. Frequentemente classes diferentes possuem características comuns. As classes diferentes podem compartilhar valores comuns e podem executar as mesmas operações. Em Python tais relacionamentos são expressados usando derivação e herança.
6 Classes Aninhadas
Em Python é possível definir uma classe dentro de outra, chamada de classes aninhadas.
Veja:
1 class A(object):
2
3 def __init__(self):
4 self.y = 0
5
6 class B(object):
7
8 def __init__(self):
9 self.x = 0
10
11 def f(self):
12 pass
Uma classe aninhada comporta-se como qualquer "classe externa" (não-aninhada). Pode conter métodos e atributos, e pode ser instanciada assim:
1 obj = A.B()
Este estado cria uma nova instância da classe B. Instanciado, nós podemos invocar o método f utilizando:
Este estado cria uma nova instância da classe B. Instanciado, nós podemos invocar o método f utilizando:
1 obj.f()
Note, não é necessário instanciar a classe externa A, mesmo quando nós criamos uma instância da classe interna.
Os métodos de uma classe aninhada podem acessar os atributos da classe interna mas não das classes externas, o método f pode acessar o atributo x do exemplo acima, mas não pode acessar o atributo y.
Note, não é necessário instanciar a classe externa A, mesmo quando nós criamos uma instância da classe interna.
Os métodos de uma classe aninhada podem acessar os atributos da classe interna mas não das classes externas, o método f pode acessar o atributo x do exemplo acima, mas não pode acessar o atributo y.
7 Herança e Polimorfismo
7.1 Derivação e Herança
Esta seção revê o conceito de classe derivada. As classes derivadas são uma característica extremamente útil em Python porque permitem que o programador defina classes novas estendendo classes existentes. Usando classes derivadas, o programador pode explorar as comunalidades que existem entre as classes de um programa. As classes diferentes podem compartilhar valores e operações.
A derivação é a definição de uma classe nova estendendo uma classe existente. A classe nova é chamada de classe derivada e a classe existente de quem é derivada é chamada de classe base.
Em Python, deve haver ao menos uma classe base, mas pode haver mais de uma classe base, formando assim herança múltipla.
Python suporta classes clássicas (old-style classes) e classes de novo-estilo (new-style classes). Uma new-style class é uma classe que é derivada da classe interna do objeto. Uma old-style class é uma classe que não tem uma classe base ou uma que é derivada somente de outras classes old-style.
Considere a classe Pessoa e a classe Pais abaixo. Porque Pais também são Pessoas, a classe Pai é derivada da classe Pessoa. A derivação em Python é indicada incluindo o(s) nome(s) da class(es) base em parênteses na declaração da classe derivada.
1 class Pessoa(object):
2 FEMALE = 0
3 MALE = 1
4
5 def __init__(self, nome, sexo):
6 super(Pessoa, self).__init__()
7 self._nome = nome
8 self._sexo = sexo
9
10 def __str__(self):
11 return str(self._nome)
12
13 class Pais(Pessoa):
14
15 def __init__(self, nome, sexo, crianca):
16 super(Pais, self).__init__(nome, sexo)
17 self._crianca = crianca
18
19 def getCrianca(self, i):
20 return self._crianca[i]
21
22 def __str__(self):
23 pass
Uma classe derivada herda todos os atributos de sua classe base. Isto é, a classe derivada contem todos os atributos da classe contidos na classe base e a classe derivada suporta todas as operações fornecidas pela classe base. Por exemplo, veja:
1 p = Pessoa()
2 q = Pais()
Assim p é uma Pessoa, tem os atributos _nome e _sexo e o método str. Além disso, a classe Pais é derivado de Pessoa, então o objeto q também é uma instância de atributos _nome _sexo e do método str.
Uma classe derivada pode estender a classe base de diversas maneiras: Os novos atributos podem ser usados, os novos métodos podem ser definidos e os métodos existentes podem ser sobrescritos. Por exemplo, a classe Pais adiciona uma atributo _crianca e um método getChild.
Se um método for definido em uma classe derivada que tenha o mesmo nome que um método na classe base, o método na classe derivada sobrescreve ele na classe base. Por exemplo, o método str na classe Pais sobrescreve o método str na classe Pessoa. Conseqüentemente, str(p) invoca Pessoa.str , visto que o str(q) invoca Pais.str .
Uma instância de uma classe derivada pode ser usada em qualquer lugar em um programa onde uma instância da classe base possa ser usado. Por exemplo, isto significa que a classe Pais pode ser passado como um parâmetro real a um método que espere receber uma Pessoa.
Uma classe derivada pode estender a classe base de diversas maneiras: Os novos atributos podem ser usados, os novos métodos podem ser definidos e os métodos existentes podem ser sobrescritos. Por exemplo, a classe Pais adiciona uma atributo _crianca e um método getChild.
Se um método for definido em uma classe derivada que tenha o mesmo nome que um método na classe base, o método na classe derivada sobrescreve ele na classe base. Por exemplo, o método str na classe Pais sobrescreve o método str na classe Pessoa. Conseqüentemente, str(p) invoca Pessoa.str , visto que o str(q) invoca Pais.str .
Uma instância de uma classe derivada pode ser usada em qualquer lugar em um programa onde uma instância da classe base possa ser usado. Por exemplo, isto significa que a classe Pais pode ser passado como um parâmetro real a um método que espere receber uma Pessoa.
7.2 Polimorfismo
Polimorfismo significa ter algo único em vários lugares. O polimorfismo é usado em classes distintas compartilhando funções em comum. Porque as classes derivadas são distintas, suas execuções podem diferir. Entretanto, as classes derivadas compartilham de uma relação comum, instâncias daquelas classes são usadas exatamente na mesma maneira.
Traduzido por LeonardoGregianin
(Meterial retirado do endereço web http://www.python.org)
Comandos de Controle
Toda linguagem de programação, necessita de mecanismos para controlar o fluxo do programa, sem os quais seria impossível implementar uma lógica qualquer de forma rápida e sem necessidade de recursos avançados com algoritmos, e o Python não é diferente. Abordaremos as instruções if-else, while e for e serão apresentados exemplos com soluções para cada um desses itens.
Instrução if-else: A instrução if é uma das mais importantes em qualquer linguagem de
programação, pois permite que grupos de comandos sejam executados conforme o resultado de uma expressão ou de múltiplas expressões.
Sintaxe:
if condição:
comandos
else:
comandos
Exemplo: Crie um programa para verificar a idade dos freqüentadores de uma discoteca. Caso a idade seja menor que 18 anos, o usuário receberá a mensagem de que a entrada é proibida.
Solução:
idade=20
if idade<18:
print "Sua entrada está proibida porque você é menor de idade."
else:
print "Você tem mais de 18 anos. Pode entrar."
Instrução while: A estrutura while (também conhecida como laço de repetição) executa um grupo de comandos repetidas vezes, enquanto uma determinada condição for verdadeira. Quando for detectado o rompimento da veracidade desta condição, o fluxo dentro da estrutura while é interrompido e a execução do programa retorna na próxima linha após o fim deste laço de repetição.
Sintaxe:
while condição:
comandos
else:
comandos
Exemplo: Crie um programa que mostre todos os números pares menores que 100 e maiores que
um número informado pelo usuário.
Solução:
inicio=20
while inicio<=100:
if inicio%2==0:
print inicio
inicio=inicio+1
else:
print "O numero inicial é maior que 100"
Instrução for: A estrutura for realiza repetições (loops) de forma mais complexa do que o while, porém sua sintaxe é resumida facilitando o trabalho do programador.
Sintaxe:
for alvo in sequencia:
comandos
else:
comandos
Exemplo: Crie um programa que mostre todos os números ímpares menores que 100 e maiores
que um número inicial informado na sequência delimitadora do laço.
Solução:
for comeco in range(20,100):#perceba que o laço inicia em 20 e vai até 100
if comeco%2!=0:
print comeco
comeco=comeco+1
else:
print "O número inicial é maior que 100"
(Conteúdo retirado do endereço web http://cleibsonalmeida.blog.br)
Instrução if-else: A instrução if é uma das mais importantes em qualquer linguagem de
programação, pois permite que grupos de comandos sejam executados conforme o resultado de uma expressão ou de múltiplas expressões.
Sintaxe:
if condição:
comandos
else:
comandos
Exemplo: Crie um programa para verificar a idade dos freqüentadores de uma discoteca. Caso a idade seja menor que 18 anos, o usuário receberá a mensagem de que a entrada é proibida.
Solução:
idade=20
if idade<18:
print "Sua entrada está proibida porque você é menor de idade."
else:
print "Você tem mais de 18 anos. Pode entrar."
Instrução while: A estrutura while (também conhecida como laço de repetição) executa um grupo de comandos repetidas vezes, enquanto uma determinada condição for verdadeira. Quando for detectado o rompimento da veracidade desta condição, o fluxo dentro da estrutura while é interrompido e a execução do programa retorna na próxima linha após o fim deste laço de repetição.
Sintaxe:
while condição:
comandos
else:
comandos
Exemplo: Crie um programa que mostre todos os números pares menores que 100 e maiores que
um número informado pelo usuário.
Solução:
inicio=20
while inicio<=100:
if inicio%2==0:
print inicio
inicio=inicio+1
else:
print "O numero inicial é maior que 100"
Instrução for: A estrutura for realiza repetições (loops) de forma mais complexa do que o while, porém sua sintaxe é resumida facilitando o trabalho do programador.
Sintaxe:
for alvo in sequencia:
comandos
else:
comandos
Exemplo: Crie um programa que mostre todos os números ímpares menores que 100 e maiores
que um número inicial informado na sequência delimitadora do laço.
Solução:
for comeco in range(20,100):#perceba que o laço inicia em 20 e vai até 100
if comeco%2!=0:
print comeco
comeco=comeco+1
else:
print "O número inicial é maior que 100"
(Conteúdo retirado do endereço web http://cleibsonalmeida.blog.br)
Operadores Básicos
A tabela a seguir resume as precedências de operadores em Python, da menor precedência (ligação mais fraca) a maior precedência (ligação mais forte). Os operadores na mesma caixa têm a mesma precedência. A menos que a sintaxe seja dada explicitamente, os operadores são binários. Os operadores na mesma caixa são agrupados da esquerda para a direita (exceto as comparações, incluindo os testes, os qual tem a mesma precedência e são encadeados da esquerda para a direita e exponenciação, que se agrupam da direita para a esquerda).
Assinar:
Postagens (Atom)