0% acharam este documento útil (0 voto)
4 visualizações

Comandos básicos de Python

Enviado por

wbendelak9674
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
4 visualizações

Comandos básicos de Python

Enviado por

wbendelak9674
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 20

Comandos básicos de Python

Fellipe Gomes
25 de outubro de 2017

Resumo do conteúdo apresentado:


 Variáveis
 Tipos
 Comandos Básicos
 Estruturas de Controle
o Estrutura de Sequência
 suite
o Estrutura de Seleção
 if,if-else,if-elif,if-elif-else
o Estrutura de repetição
 while e for
 Subprogramação:
o Funções
o Passagem de Parâmetros
 Passagem por Valor,
 Passagem de função
o Recursividade
 Estrutura de dados:
o Vetor
 split()
o Matriz
 append()
o String (Cadeia de Caracteres)
 find()
o Tupla
o Lista
 Lista de listas
 Lista Lisp-Like
 Persistência dos dados
o Arquivo texto
 read()
 write()
 append()

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

Operadores Binários Aritméticos:


 +: Soma
 -: Subtração
 * : Produto
 /: Divisão de ponto flutuante
 //: Divisão inteira
 %: Resto da divisão inteira
 **: Potencialização

Operadores Binários Lógicos:


 or: Disjunção lógica ou soma lógica
 and: Conjunção lógica ou produto lógico

Operadores Binários Relacionais:


 ==: Igual a
 !=: Diferente de
 >: Maior que
 <: Menor que
 >=: Maior ou igual
 <=: Menor ou igual

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

Expressões Formatadas (operador %(…)):


 Sintaxe da expressão formatada:
o texto = “…%formato1 … %formatoN…” %(exp1, …, expN)
 Formatos mais comuns:
o d (inteiro), f (número com ponto flutuante) e s (String)

Exemplos:

msg = " A media dos numeros é %4.2f" %(8656656.6164134)


print(msg)

print("%f + %f = %4.1f" %(15, 9.578421, 15+9.578421 ))

print("%d + %d = %d" %(5, 7.578421, 5+7.578421 ), end="!!!")

Comandos de entrada padrão:


 input()
o Comando que aguarda o usuário fornecer um valor expresso por uma
sequencia de caracteres
o Este comando suspende a execução do programa até que o usuário
escreva sua entrada e precione enter.
 input(mensagem)
o Comando que escreve a expressão mensagem e aguarda o usuário
fornecer um valor expresso por uma sequencia de caracteres
o Este comando suspende a execução do programa até que o usuário
escreva sua entrada e precione enter.

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)

Para condições compostas pode ser feita a condição utilizando:

 and,
 or,
 10<=x<=20

Estrutura de seleção de 2 ramos (if-else)


A estrutura de dois ramos if-else é utilizada quando deseja-se executar uma entre duas
suites, dependendo de como foi avaliada a condição (como True ou False).
Exemplo de uso:

x=10
if x>0:
print(x, "é maior do que zero.")
else:
else(x, "é menos ou igual a zero.")

Estrutura de Seleção Aninhadas


Veja o exemplo a seguir:

"""
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)

Estrutura de Seleção com Múltiplos Ramos (if-elif ou if-elif-else)


As estruturas de seleção if-elif e if-elif-else tem uso quando deseja-se executar uma entre
várias suites, dependendo do resultado da condição avaliada.
veja o exemplo a seguir com uso do if-elif :

""
Faremos um comando que funciona como calculadora.
""

valores = [5,9] #Poderiamos pedir que o usuario informasse com:


#valores=input("Digite dois valores: ").split()
x = int(valores[0])
y = int(valores[1])
op = "+" #Poderiamos pedir que o usuario informasse
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
print(x,op,y,"=",resultado)

veja o exemplo a seguir com uso do if-elif-else :

""
Faremos um comando que funciona como calculadora.
""

valores = [5,9] #Poderiamos pedir que o usuario informasse com:


#valores=input("Digite dois valores: ").split()
x = int(valores[0])
y = int(valores[1])
op = "+" #Poderiamos pedir que o usuario informasse

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()

Estruturas de Repetição Definida (for):


A estrutura de repetição definida **for* deve ser utilizada quando se deseja, um
determinado número de vezes, executar uma mesma suite, enumerado ou nao por uma
lista de valores.
Exemplo de uso:

for i in [2,3,4,5,6,7,8,9]:
print(i, end=" ")
print()

Listas de Valores para uma Repetição for


Para criar uma lista para repetições for:

 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))

 range(valor inicial, valor limite)


o Cria uma lista com P.A. de itens de razão 1, iniciada pelo valor inicial e
termina no valor que antecede o limite

Exemplo:
print(range(7,20))

 range(valor inicial, valor limite, avanço)


o Cria uma lista com P.A. de itens de razão avanço, iniciada pelo valor
inicial e termina no valor que antecede o limite

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.

Declaração de uma função em Python


A função deve ser declarada da seguinte forma:

def nomeEscolhido(_lista de parâmetros_)


suite do corpo da funcao

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.

Passagem de parâmetro por valor

 No início da função, os parâmetros sempre são inicializados com a cópia dos


ponteiros (referências) para os valores implementados na ativação da função
o valor de tipo básico são imutáveis
o Valores de tipos estruturados são mutáveis
 Os valores podem vir de:
o Constantes
o Variáveis
o Resutlados de funções
o Ou seja, resutlado de expressões

Passagem por função


Da mesma maneira que por valor, a função pode receber ou retornar outra função definida
previamente

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

Um vetor pode ser simples ou estruturado

 Acesso a elementos do vetor?


o Suponha que se queira somar todos os elementos do vetor?
#Utilizando o range()
soma = 0
for i in range(3):
soma = soma + vetor[i]

#Utilizando o len()
soma = 0
for i in range(len(itens)):
soma = soma + itens[i]

 A leitura de um vetor pode ser realizada:


o Elemento a elemento
o Todas as informações podem ser lidar de uma vez, como uma linha de
caracteres, sobre o qual se aplica a operação split para separa-las

Exemplo de leitura:

#Leitura de todos os valores de uma vez:


valores = input("Digite os valores na mesma linha: ").split()

#Leitura um de cada vez:


valores=[None]*10
for i in range(len(valores)):
valores[i] = input("Digite um valor: ")

 A escrita de um vetor pode ser realizada;


o Toda de uma vez
o Elemento a elemento

Exemplo de escrita:

#Todos de uma vez:


numeros= [4,6,2,5,1,25,12,32]
print(numeros)

#Escrita um de cada vez:


numeros= [4,6,2,5,1,25,12,32]
for x in numeros:
print(x, end=" ")
print() #Para pular uma linha
Matriz
A matriz 2D é um vetor de vetores, vejamos um exemplo:

aposta = [[" ","X"," "],


[" "," ","X"],
[" ","X"," "],
["X"," "," "],
[" ","X"," "],
[" "," ","X"],
[" ","X"," "]]
print(aposta)

Para acessar os elementos desse vetor:

aposta = [[" ","X"," "],


[" "," ","X"],
[" ","X"," "],
["X"," "," "],
[" ","X"," "],
[" "," ","X"],
[" ","X"," "]]

aposta #Representa uma matriz de 7 linhas por 3 colunas


aposta[0] #Representa a primeira linha da matriz
aposta[0][0] #Representa o caractere da primeira linha da primeira col
una

Entrada dinâmica de Vetores e Matrizes


Em python, vetores e matrizes são implementados por listas, uma forma alteranativa é
utilizando a operação que anexa um valor ao final de uma lista: append().

String (Cadeia de Caracteres)


Um objeto do tipo str representa uma cadeia de caracteres, de tamnho e valor imutáveis,
veja um exemplo de declaração e atribuição:

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])

 O operador +, quando aplicado a dois Strings a e b retorna uma String


concatenada das Strings a e b
 Retornando uma “nova” sub-String de uma String:

nomeString[posicao inicial : posicao final+1]

 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:

val = ("abacaxi", 500, 4.99)


print(val)

#ou ainda:

val = "abacaxi", 500, 4.99


print(val)

Sendo assim, vetores e strings podem ser empacotados como tuplas através da
funcao tuple(), veja:

trio = tuple([1,2,3]) # ou trio = (1,2,3)


print(trio)

letras = tuple("aeiou") # ou letras = ("a", "e", "i", "o", "u")


print(letras)

Exemplo de desempacotamento e iteração


Seu conteúdo pode ser facilmente atribuído a variáveis por meio de desempacotamento,
veja:

individuo, altura = ("Maria Jose", 139)


print(individuo)
print(altura)

#ou ainda:

(nome, idade) = ("Maria Jose", 139)


print(nome)
print(idade)

#Iterando sobre os itens de uma tupla:

tomDePele = ("Marrom", "Amarelo", "Azul", "Branco")

for cor in tomDePele:


print(cor)

Métodos disponíveis sobre Tuplas


 count(valor)
o Retorna a quantidade de ocorrencias de um determinado valor da tupla,
exemplo:

v = ("morango", 500, 4.99, 500)


print(v.count(500)) #Retorna quantidade

 index( valor )
o Retorna o índice da primeira ocorrência do valor informado como
argumento, exemplo:

v = ("morango", 500, 4.99, 500)


print(v.index(500)) #Retorna indice

Operadores sobre Tuplas

 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:

#Declarando uma lista:


salada = []

#Incluindo valores:
salada = ["manda", "pera", "uva"]

Operações básicas para manipulação de listas:


 Operações de inclusão de novos elementos:
o apend( novoElemento ): anexa um novoElemento no final da lista
o insert( pos,novoElemento ): insere o novoElemento) na posição pos* da
lista, caso essa posição não exista, será criada

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)

 Operações de exclusão: de novos elementos:


o pop( ): retorna e remove o último elemento da lista.
o pop( pos ): retorna e remove o elemento na posição pos da lista.
o remove( x ): remove a primeira ocorrência do item x.
 Outras operações úteis com listas:
o les( ): retorna o comprimento da lista.
o lista.count( elemento ): retorna quantas vezes o elemento aparece na lista
o lista.sort( lista ): ordena o conteúdo da lista

Fatiamento de Listas

 Fatiamento de Listas:
o listaAntiga[posInicio : posFim *]*: retorna uma nova lista composta de
referências para elementos existentes na listAntiga

Exemplo:

saladaComposta = ["banana", "caju", "uva", "pera", "manga", "kiwi"]


print(saladaComposta)
saladaSimples = saladaComposta[1:4]
print(saladaSimples)
## ['banana', 'caju', 'uva', 'pera', 'manga', 'kiwi']
## ['caju', 'uva', 'pera']

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]]

Operando elementos de uma lista de listas


Confira:

mercado = [["pera", 100, 4.9], ["manga", 20, 3.9], ["uva", 30,5.9], ["
caju", 15.35]]
print(mercado)

mercado[1][2] *= 0.5 #Manga pela metade do preço


print(mercado)

mercado[3][1] -= 10 #caju com dez quilos a menos


print(mercado)

mercado.remove(["uva", 30,5.9]) #O produto uva é removido do mercado


print(mercado)

mercado.insert(1, ["kiwi", 200, 1.99]) #O produto kiwi é inserido


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 cons(item, dados):


return [item] + dados
Utilizando as operações seletoras car e cdr, vejamos uma função recursiva que some o
conteúdo de uma lista de numeros:

def soma(dados):
if dados==[]:
return 0
else:
return car(dados) + soma(cdr(dados))

Persistência dos dados


Arquivos
Programas interativos sao diferentes de manusear arquivos
arquivos podem ser texto
O arquivo texto é um sequencia de caracteres organizadas em linhas
em python, a leitura de arquivos é feito da seguinte maneira:

dados = open(caminho do arquivo, "r") #r: leitura ;


#w: apenas escrita;
#a: escreve no final do arquivo

dados.close() # o arquivo nao sera mais utiliz


ado

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:

dados = open("exemplo.txt", "r")

linha = dados.readline()

print(linha, end="")

dados.close()

Leitura do arquivo texto com o metodo readline()


Veja:

dados_abrir=input("Digite o nome do arquivo que deseja visualizar: ")

dados = open(dados_abrir, "r")

linha = dados.readline()

while linha != "":


print(linha, end="")
linha=dados.readline()

dados.close()

Outra maneira:

dados_abrir=input("Digite o nome do arquivo que deseja visualizar: ")

dados = open(dados_abrir, "r")

for linha in dados:


print(linha, end="")
dados.close()

Comando readlines()
Funciona apenas para pequenos arquivos, veja:

dados_abrir = input("Digite o nome do arquivo:")


dados=open(dados_abrir, "r")
linhas = dados.readlines()

for linha in linhas:


print(linha, end"")

dados.close()

Produzindo um arquivo de texto com write()


dados=open("teste.txt", "w")
dados.write("qualquercoisa")
Com quebra de linha:
Veja:

dados=open("teste.txt", "w")
dados.write("qualquercoisa\n")

Mais um exemplo:

arquivo = input("Digite o nome do arquivo que sera criado:")

qnt_linhas = int(input("Quantas linhas:"))

dados = open(arquivo, "w")

for i in range(qnt_linhas):
nova=input("linha"+str(i+1)+":")
dados.write(nova+"\n")

dados.close()

Anexando uma nova linha no final de um arquivo


Veja:

nome=input("Diga o nome do arquivo que deseja anexar")


arquivo=open(nome, "a")
noma_linha = input("Diga a nova linha:")
arquivo.write(nova_linha + "\n")
arquivo.close()

Você também pode gostar