Comandos básicos de Python
Comandos básicos de Python
Fellipe Gomes
25 de outubro de 2017
Variáveis
Tipos básicos:
Tipos Integrais:
o Inteiro: (int)
Pode ter centenas de dígitos
O padrão é decimal, mas pode usar bases como binária (iniciada
com 0b), octal (iniciada com 0o) ou hexadecimal (iniciada com 0x)
o Lógico (ou Booleano): (bool)
0 é False e 1 é True
Tipos de Ponto-Flutuante
o Número de ponto-flutuante: (float)
o Número Complexo: (complex)
String (str)
o Representada por uma sequência de caracteres Unicode, iniciada e
terminada por aspas simples ou duplas
Tipos
Conversão de Tipos:
int: para inteiro
float: para ponto flutuante
bool: para booleano
str: para string
Operadores únicos:
+: Operador numérico positivo
-: Operador numérico negativo
not: Operador lógico de negação
Comandos básicos
Comandos de saída padrão:
print()
o Pula para a próxima linha
print(expressão)
o Escreve o resultado da expressão
o Pula para a próxima linha
print(expressão1,…,expressãoN)
o Escreve o resultado de cada expressão
o Espaço em branco é escrito entre cada par de expressão
o Pula para a próxima linha
print(expressão,end=término)
o Escreve o resultado da expressão
o Ao final, escreve o String de término
print(expressão1, …, expressãoN,end=término)
o Escreve o resultado de cada expressão
o Espaço em branco é escrito entre cada par de expressão
o Ao final, escreve o String de término
Exemplos:
Estrutura de Controle
Sequência
Suite
Em Python, ao construir uma sequência de comandos, devemos colocá-los um por
linha abaixo do outro, mantendo-os na mesma tabulação.
Um bloco de comando que possui um ou mais comandos é camado de suite
Comentários
Comentários simples: iniciados com o caractere #
Comentarios com múltiplas linhas: delimitados por “”" “”"
Estruturas de seleção
Estrutura de seleção de 1 ramo (if)
Uma estrutura de seleção com um ramo if é utilizada quando se deseja executar um
comando (ou uma suite) apenas no caso de determinada condição ser satisfeita.
Exemplo do uso:
dinheiro = 50000
if dinheiro>10000:
imps = dinheiro * 0.1
multa = dinheiro * 0.15
print( "Valor do Imposto:", imps, "e da multa:", multa)
and,
or,
10<=x<=20
x=10
if x>0:
print(x, "é maior do que zero.")
else:
else(x, "é menos ou igual a zero.")
"""
Calcula ajuste de dinheiro, se tempo < 1 mantém , se tempo < 10 faz um
a coisa, se tempo >= 10 faz outra:
"""
dinheiro = 1000.50
tempo = 20
if tempo<1:
print("Seu dinheiro continua:", dinheiro)
else:
if tempo<10:
dinheiro = dinheiro * 1.1
else:
dinheiro = dinheiro * 1.2
print("Seu dinheiro apos o ajuste:", dinheiro)
""
Faremos um comando que funciona como calculadora.
""
""
Faremos um comando que funciona como calculadora.
""
if op=="+":
resultado = x+y
elif op=="-":
resultado = x-y
elif op=="*":
resultado = x*y
elif op=="/":
resultado = x/y
elif op=="**":
resultado = x**y
else:
resultado = None
if resultado == None:
print(op, "Operador inexistente!!")
else:
print(x,op,y,"=",resultado)
Estruturas de Repetição
Estruturas de Repetição Indefinida (while):
A estrutura de repetição indefinida while deve ser utilizada quando se deseja executar
zero ou mais vezes uma suite enquanto a condição estipulada for verdadeira.
Exemplo de uso:
i=1
while i<=10:
print(i, end=" ")
i=i+1
print()
for i in [2,3,4,5,6,7,8,9]:
print(i, end=" ")
print()
range(valor limite)
o Cria uma lista com P.A. de itens de razão 1, iniciada pelo valor 0 e termina
no valor que antecede o limite
Exemplo:
print(range(7))
Exemplo:
print(range(7,20))
Exemplo:
print(range(9,50,3))
Subprogramação
Funções
São suites, comandos e/ou estruturas de controle, ao qual atribuímos um nome e após a
sua execução obtemos um valor.
A utilização de funções permite que o programa possa ser desenvolvido e testado
separadamente, além de permitir a reutilização de algumas partes em diferentes pontos do
programa.
Sendo assim, é possível montar programas mais complexos a partir de funções menores
já desenvolvidas e testadas.
onde:
a lista de parâmetros pode ter zero ou mais parâmetros separados por vírgulas
A suite do corpo da função+ deve possuir zero ou mais retornos de valores,
expressos por return valor apropriado (caso nenhum valor seja retornado, return
None)
Passagem de Parâmetros
Caso uma função possa ser aplicada a diferentes valores de entrada, esta função deve
conter parâmetros em sua definição.
Recursividade
Chama-se de função recursiva quando a função possui no seu corpo uma chamada a ela
própria
Exemplo, no cálculo de fatorial:
def fat(n):
if n==0:
return 1
else:
return n*fat(n-1) #Aqui esta a chamada recursiva
Estrutura de Dados
Vetor
Um vetor é um agregado de elementos (também chamados de valores) de
um mesmo tipo.
Imagine um vetor, do qual para a seleção de elementos dentro desse vetor, podemos
utilizar um índice ou seletor do elemento que indica sua posição ou ordem.
vetor=[4,3,2,1]
print(vetor[0])
print(vetor[3])
Caracteristicas:
o É uma estrutura homogênea
o Todos os elementos da estrutura são igualmente acessíveis
o cada elementro da estrutura tem um nome próprio
#Utilizando o len()
soma = 0
for i in range(len(itens)):
soma = soma + itens[i]
Exemplo de leitura:
Exemplo de escrita:
nome = "Ana"
print(len(nome)) # confima o comprimento ou quantidade de caracteres n
a string
Comparação de Strings
o comparação lexicografica de strings com os operadores ==,!=, <=, >=, <, >
Indexação de cada caractere
o O tipo de String pode ser tratado tambem como vetor, vejamos:
#Se:
nome = "Ana"
#Então:
print(nome[0])
print(nome[1])
print(nome[2])
Método find(subStringProcurada)
o Retorna a posição do indice da primeira ocorrencia da subStringProcurada
na String sendo consultada. Caso nao seja encontrada, retorna menor um
(-1)
Outros métodos importantes:
o replace( subStringProcurada, subStringNova )
Retorna uma copia da string sendo consultada, substituindo
o count( subStringProcurada )
Retorna a quantidade de ocorrencias
o upper()
Retorna uma cópia da String, convertendo tudo para maiúsculo
o lower()
retorna uma cópia da String, convertendo tudo para minusculo
o strip()
Retorna uma cópia da String, removendo todos caracteres brancos
do início e do final
o split()
Retorna uma lista de todas as palavras String
o split( subStringSeparadora )
Retorna uma lista de todas as palavras String, sendo o delimitador
procurado entre palavras aquele especificado em
subStringSeparadora.
Metodos para leitura e escrita:
o input(), readline, print, write
Tupla
Uma sequência ordenada de zero ou mais referências a objetos. Tuplas suportam o
mesmo fatiamento, o mesmo acesso por iteradores e o mesmo desempacotamento que
Vetores e Strings. São imutáveis e pode ser vazia.
Exemplo:
vazio = tuple()
print(vazio)
Mais exemplos, agora de tuplas não vazias:
#ou ainda:
Sendo assim, vetores e strings podem ser empacotados como tuplas através da
funcao tuple(), veja:
#ou ainda:
index( valor )
o Retorna o índice da primeira ocorrência do valor informado como
argumento, exemplo:
concatenação: a+b
o Gera uma nova tupla a partir do conteúdo de a seguido de b
replicação: _a*n_
o Gera uma nova Tupla a partir do conteúdo de (a) repetida n-1 vezes
fatiamento: a[posição inicial : posição final+1]
o Gera uma nova Tupla a partir do subconjunto de elementos contidos em a
atribuição incremental: a +=b ou _a*=n_
o Equivalente a concatenação e repetição, porém atribui à variável (a) a
referência para a nova tupla gerada
comparação: < , <+ , == , !=, >, >=
o Compara item a item
associação: in e not in
o Verifica a pertinência de um valor em uma tupla
Listas
Lista
Uma lista é uma sequencia ordenada pelo índice, de zero ou mais referências a objetos.
Características: * É uma estrutura de dado recursiva * Representada por uma sequência,
fechada por colchetes ( [** e **]) * O primeiro elemento esta na posição zero * Lista são
mutáveis, podem receber novos elementos, substituir ou remover antigos elementos
Exemplo:
#Incluindo valores:
salada = ["manda", "pera", "uva"]
Exemplo:
#Incluindo valores:
salada = ["manda", "pera", "uva"]
print(salada)
salada.append("banana")
print(salada)
salada.insert(2,"goiaba")
print(salada)
## ['manda', 'pera', 'uva']
## ['manda', 'pera', 'uva', 'banana']
## ['manda', 'pera', 'goiaba', 'uva', 'banana']
Criando uma lista de numeros aleatórios em um intervalo pre estabelecido pelo usuário:
#Exemplo 1
#subprogramas
def preencher(listaElems, qtd, min, max):
from random import randint #Requer pacote com funcao
externa
for item in range(qtd):
listaElems.append(randint(min, max))
return None
#programa principal
qtdNumeros = int(input("A Lista deve ter quantos valores?"))
minimo = int(input("Menor valor da faixa:"))
maximo = int(input("Maior valor da faixa:"))
numeros = []
preencher(numeros, qtdNumeros, minimo, maximo)
print(numeros)
Fatiamento de Listas
Fatiamento de Listas:
o listaAntiga[posInicio : posFim *]*: retorna uma nova lista composta de
referências para elementos existentes na listAntiga
Exemplo:
Listas de listas
Os indices fazem referências a novas listas contidas no seu interior
Veja um exemplo:
mercado = [["pera", 100, 4.9], ["manga", 20, 3.9], ["uva", 30,5.9], ["
caju", 15.35]]
print(mercado)
## [['pera', 100, 4.9], ['manga', 20, 3.9], ['uva', 30, 5.9], ['caju',
15.35]]
mercado = [["pera", 100, 4.9], ["manga", 20, 3.9], ["uva", 30,5.9], ["
caju", 15.35]]
print(mercado)
## [['pera', 100, 4.9], ['manga', 20, 3.9], ['uva', 30, 5.9], ['caju',
15.35]]
## [['pera', 100, 4.9], ['manga', 20, 1.95], ['uva', 30, 5.9], ['caju'
, 15.35]]
## [['pera', 100, 4.9], ['manga', 20, 1.95], ['uva', 30, 5.9], ['caju'
, 5.35]]
## [['pera', 100, 4.9], ['manga', 20, 1.95], ['caju', 5.35]]
## [['pera', 100, 4.9], ['kiwi', 200, 1.99], ['manga', 20, 1.95], ['ca
ju', 5.35]]
Lista (Lisp-Like)
Três operações primitivas do paradigma de programação funcional na lisguagem Lisp (List
Processing):
car( dados ): é a operação seletora que retorna o primeiro elemento de uma lista
de dados.
cdr( dados ): é uma operação seletora que retorna uma lista com todos os
elementos da lista dados, exceto o primeiro.
cons( item, dados ):é uma operação construtora que retorna uma lista que contem
o item como primeiro elemento, seguido pela lista de dados.
Exemplo (trivial):
def car(dados):
return dados[0]
def cdr(dados):
return dados[1:len(dados)]
def soma(dados):
if dados==[]:
return 0
else:
return car(dados) + soma(cdr(dados))
Metodo readline()
Aplicada sob um arquivo txt aberto, retorna uma linha completa, incluind o final da linha (*
que pula a linha). Portando o inicio do leitor avança para a proxima linha, veja:
linha = dados.readline()
print(linha, end="")
dados.close()
linha = dados.readline()
dados.close()
Outra maneira:
Comando readlines()
Funciona apenas para pequenos arquivos, veja:
dados.close()
dados=open("teste.txt", "w")
dados.write("qualquercoisa\n")
Mais um exemplo:
for i in range(qnt_linhas):
nova=input("linha"+str(i+1)+":")
dados.write(nova+"\n")
dados.close()