Postagens

Mostrando postagens com o rótulo Programação Python

DOWNLOAD: PYTHON PARA DESENVOLVEDORES

Imagem
Link para download (em pdf):  http://adf.ly/1Qf1er Já em sua 2ª Edição, publicada em 2010, o autor da obra  Luiz Eduardo Borges  apresenta o e-book  Python para Desenvolvedores  com conteúdo abrangente sobre as características e potenciais da linguagem de programação Python. Além das características básicas, o autor aborda aspectos de sintaxe, introspecção, programação funcional, sobrecarga de operadores, meta classes, XML, banco de dados, web  e processamento numérico.

Exemplo de uso de listas em Python

# -*- coding: utf-8 -*-  # O comentário na linha acima permite que o interpretador Python ajuste a codificação para aceitar acentos e outros caracteres especiais # Criando uma lista lista = list(range(20))  # o uso da função list() é necessário a partir da versão 3 do Python print(lista) # Embaralhando a lista criada import random random.shuffle(lista) print(lista) random.shuffle(lista) print(lista) random.shuffle(lista) print(lista) random.shuffle(lista) print(lista) # Obtendo uma amostra aleatória (de 10 elementos) de uma lista s = random.sample(lista,10) print(s) # Obtendo um elemento aleatório de uma lista r = random.choice(lista) print(r) r = random.choice(lista) print(r) r = random.choice(lista) print(r) # Juntando duas listas, formando pares ordenados de elementos com a função zip() lista2 = list(zip(list(range(0, 5)), list(range(5, 10)))) print (lista2)  # Juntando três listas, formando triplas ordenadas de elementos com a função zip() lista3 = list(zip(list(range(0, 5)), list(

Programa Exemplo para abrir e escrever arquivos em disco

# -*- coding: utf-8 -*-  # Criando um pequeno banco de dados para testes # Nome, Idade, Peso[Kg], Altura[m] banco = [           ["Siloé", 37, 55.5, 1.62],  ["Ingridt", 35, 56.3, 1.60],  ["Karina", 34, 46.5, 1.64],  ["Carlota", 39, 79.3, 1.54],  ["Wanda", 30, 59.0, 1.68],  ["Paloma", 38, 47.0, 1.57],  ["Yvone", 37, 67.0, 1.58],  ["Betânia", 32, 60.4, 1.62],  ["Edilene", 36, 64.5, 1.75],  ["Agnes", 32, 49.5, 1.56],  ["Taciana", 38, 66.0, 1.72],  ["Naura", 35, 62.9, 1.76],  ["Olga", 33, 83.2, 1.62],  ["Dânia", 40, 62.0, 1.66],  ["Giovana", 38, 53.7, 1.77]         ] import pickle # módulo necessário para salvar como "streams" dados como listas, tuplas ou dicionários # Escrevendo os dados em um arquivo em disco arquivo = open("Banco_de_Dados.dat","w") # abre um arquivo em disco para es

Exercício em Python

 Considere o seguinte trecho de código em Python: a = "Essa prova parece muito difícil!" b = "Queria uma prova mais fácil..." c = "é" d = a[0:11] + c + " muito" + b[21:27] + a[31] + a[31] print(d) O que é apresentado ao usuário após a chamada à função print() acima? Explique a soma do lado direito do operador de atribuição na quarta linha de código acima. Finalmente, escreva uma função que, dada uma string arbitrária, retorne os seis últimos caracteres. Caso algum caractere seja uma vogal, este deve ser substituído pelo símbolo “0” (“zero”). Ainda, se a string de entrada possuir menos de 6 caracteres, a função deverá “preencher” a string de saída com zeros para que esta nunca tenha um tamanho menor que 6. Resolução: a = "Essa prova parece muito dificil!"  # os acentos foram retirados para evitar erros  b = "Queria uma prova mais facil..." c = "e" d = a[0:11] + c + " muito" + b[21:27] + a[31] + a[31] print(d

Exemplo de uso da estrutura for

#Caio Pegoraro #exemplos de uso da estrutura for lista = [8,5,4,3] print(lista) #i vai receber cada valor da lista for i in lista: print(i) print('\n') #o exemplo anterior serve para percorrer os valores de uma lista, mas ha outra forma de fazer isso tb: quantidade = len(lista) for i in range(quantidade): #o range sempre retorna uma lista, nesse caso uma lista começando em zero até o quantidade-1, o -1 é por justamente iniciar em zero, se voce tem quantidade = 3, a lista para três valores será: [0,1,2] print (lista[i]) #os dois anteriores sao equivalentes em funcionalidade (fazem a mesma coisa, de maneira diferente) print('\n') #i vai receber o valor de cada posição da lista (igual o anterior, mas aqui eu passei uma lista manualmente) for i in [0,10,2,4]: print(i) print('\n') #nesse caso o range retorna uma lista começando em zero e terminando em 9, novamente o i vai receber cada valor totalizando 10 repetições (0 a 9) for i in range(0,10): print (i) print(&

Exemplo de código para ejetar CD DVD

import os, sys print(sys.platform) if 'win' in sys.platform: import win32file from win32con import * drive = 'E:' # Colocar a letra da unidade de CD/DVD do seu sistema h = win32file.CreateFile(r'\\.\\' + drive, GENERIC_READ,FILE_SHARE_READ,None, OPEN_EXISTING, 0, 0) win32file.DeviceIoControl(h, 0x002d4808, "", 0, None)  # Envia um codigo de controle para um dispositivo win32file.CloseHandle(h) else: import fcntl cd_device = '/dev/cdrom' if os.path.islink(cd_device): base_path = os.path.dirname(cd_device) cd_device = os.readlink(cd_device) if not cd_device[0] == '/': cd_device = os.path.join(base_path, cd_device) cdrom = os.open(cd_device, os.O_RDONLY | os.O_NONBLOCK) fcntl.ioctl(cdrom, 0x5309, 0) os.close(cdrom)

Exemplo de recursão para inverter uma string

def inversao(a):           a=str(a)  # necessario apenas se a entrada nao for uma string           n=len(a)           if (n==1):                    return a           else:                    s = a[n-1] + inversao(a[0:n-1])                    return s teste = "12345678" print(teste) teste_invertida = inversao(teste) print(teste_invertida)

Atividade em Python

a) incorpore ao banco de dados mais 15 nomes, incluindo as informações sobre altura, peso e idade para cada pessoa; b) salve o banco de dados no disco; c) leia o banco de dados a partir do disco e salve em outra variável do tipo lista; d) para cada nome armazenado no banco de dados, crie um novo campo, associado a esse nome, que contenha o Índice de Massa Corporal (IMC) da pessoa; e) ordene a lista considerando o campo Idade (em ordem decrescente); f) gere um outro banco de dados, a partir do primeiro, ordenado pela idade do indivíduo, que contenha apenas aquelas pessoas com um IMC entre 18,5 e 24,99, inclusive, isto é, os que possuem um IMC considerado normal; g) ordene essa nova lista a partir do IMC, em ordem crescente; h) apague do primeiro banco de dados as pessoas que estão nas duas últimas posições do segundo banco de dados, após a ordenação; i) imprima na tela apenas o nome e idade dos cinco primeiro indivíduos (se houver) armazenados no segundo banco de dados; j) salve em disc

Programa em Python 40

 Faça uma função recursiva que permita calcular a média um vetor de tamanho N.   Resolução: def media (n): a=1 w=0 while (a<=n): w = float(a+w) a = a+1 return (w/n) if __name__ == '__main__': n = input("Entre com um numero: ") fat =float(media (n)) print (fat) #entrada = raw_input("Digite um string qualquer: "); #Nenhum numero real vai ser divisivel por um numero maior do que sua metade #reverse_string(entrada);

Programa em Python 39

Escreva uma função recursiva que calcule a soma dos primeiros n cubos: S(n) = 1^3 + 2^3 + … + n^3 . Resolução: def cubo (n): a=0 w=a while (a<=n): w = (a**3)+w a = a+1 return w if __name__ == '__main__': n = input("Entre com um numero: ") fat = cubo (n) print (fat) #entrada = raw_input("Digite um string qualquer: "); #Nenhum numero real vai ser divisivel por um numero maior do que sua metade #reverse_string(entrada);

Programa em Python 38

 O superfatorial de um número N é definido pelo produto dos N primeiros fatoriais de N. Faça uma função recursiva que receba um número inteiro positivo N e retorne o superfatorial desse número. Resolução: def meu_fatorial1 (n): fat = 1 for a in range (1, n+2): fat = a*fat return fat if __name__ == '__main__': n = input("Entre com um numero: ") fat = meu_fatorial1 (n) print (fat) #entrada = raw_input("Digite um string qualquer: "); #Nenhum numero real vai ser divisivel por um numero maior do que sua metade #reverse_string(entrada);

Programa em Python 37

 Faça uma função recursiva que receba um número inteiro positivo par N e imprima todos os números pares de 0 até N em ordem decrescente. Resolução: print("Programa que recebe um numero par positivo e imprime todos os numeros pares entre o numero informado ate 0") x = int(input("Informe um numero par positivo:")) if (x < 0) or (x % 2 != 0):     print("Digite um numero positivo par!") else:     print(x)     while x > 0:         x = x - 2         print(x)

Programa em Python 36

 Faça uma função recursiva que receba um número inteiro positivo N e imprima todos os números naturais de 0 até N em ordem decrescente. Resolução: print("Programa que imprime em ordem decrescente do numero informado ate 0.") num=int(input("Infome o numero:")) print(num) while (num>0):     num=num-1     print(num)

Programa em Python 35

 Faça uma função recursiva que receba um número inteiro positivo N e imprima todos os números naturais de 0 até N em ordem crescente. Resolução: print("Programa que imprime em ordem crescente de 0 ate o numero informado.") num=int(input("Infome o numero:")) print("0") y=0 while (0<=y<num):     y =y+1     print(y)

Programa em Python 34

 Refaça o exercício anterior para uma string arbitrária. Resolução: def reverse_string(a_string): name=a_string rev_name='' for i in range(len(name)-1,-1,-1): rev_name+=name[i] print rev_name if __name__ == '__main__': entrada = raw_input("Digite um string qualquer: "); #Nenhum numero real vai ser divisivel por um numero maior do que sua metade reverse_string(entrada);

Programa em Python 33

 Faça uma função recursiva que permita inverter um número inteiro N. Por exemplo, dada a entrada 123, a função retorne 321. Resolução:  def reverse_int(x): rev_numero='' numero=str(x) for i in range(len(numero)-1,-1,-1): rev_numero+=numero[i] print rev_numero return rev_numero if __name__ == '__main__': entrada = input("Digite um numero positivo real qualquer: "); if (entrada <=0): finalizar = raw_input('Numero invalido, pressione qualquer tecla para continuar...'); exit(); #Nenhum numero real vai ser divisivel por um numero maior do que sua metade reverse_int(entrada);

Programa em Python 32

Crie uma função recursiva que receba um número inteiro positivo N e calcule o somatório dos números de 1 a N. Resolução: print("Programa para calcular somatorio dos numeros de 1 a N.") x=int(input("Informe o numero:")) soma=0 while x>=1:     soma= soma + x     x= x-1 print("O somatorio eh igual a:",soma)

Programa em Python 31

Faça uma função recursiva que calcule e retorne o fatorial de um número inteiro N. Resolução: print("Programa para calcular o fatorial de um numero.") x=int(input("Informe o fatorial:")) fat=1 while x >= 1:     fat= fat * x     x= x-1 print("O fatorial do numero informado eh igual a:",fat)

Programa em Python 30

Número perfeito. Fornecido um número inteiro, determinar se o número é um número perfeito, ou seja, se é igual à soma de seus divisores, exceto ele mesmo. Entrada: Um número inteiro. Saída: Mensagem indicando se o número é ou não perfeito. Exemplo de Entrada: 28 Exemplo de Saída: 28 é um número perfeito. Resolução: print ("Progrmana para determinar se o numero eh perfeito ou nao") n = int(input("digite o numero: ")) cont = 1 soma = 0 while cont  if n%cont==0:      soma = soma + cont      cont = cont + 1  else:      cont = cont + 1 if soma==n:   print ("o numero", n,"eh perfeito!") else:   print("o numero", n,"nao eh prefeito!")

Programa em Python 29

Composição de listas. Faça um programa que leia duas listas com 10 elementos cada. Gere uma terceira lista com 20 elementos, cujos valores deverão ser compostos pelos elementos intercalados das duas listas. Entrada: Duas listas com 10 elementos. Saída: Uma lista com os elementos intercalados. Exemplo de Entrada:  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Exemplo de Saída: 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 10 20 Resolução: print("Entre com os valores da Primeira lista!") a=int(input("Digite o primeiro numero da lista:")) b=int(input("Digite o segundo numero da lista:")) c=int(input("Digite o terceiro numero da lista:")) d=int(input("Digite o quarto numero da lista:")) e=int(input("Digite o quinto numero da lista:")) f=int(input("Digite o sexto numero da lista:")) g=int(input("Digite o setimo numero da lista:")) h=int(input("Digite o oitavo numero da lista:")) i=int(input("D