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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy