Como se tornar Programador Python Profissional - Curso com Certificado

De todas as inúmeras perguntas e dúvidas que recebemos aqui diariamente, sem dúvidas a mais recorrente é:

Como me tornar um programador Python profissional, trabalhar com isso?

E não é de se surpreender, Python é uma linguagem fantástica, simplesmente linda, apaixonante, simples de aprender, usar e absurdamente poderosa.

Se estudar e programar Python já é bom, imagina:
    Como ser programador Python profissional
  • Ganhar dinheiro com Python
  • Ter seu apartamento ou casa, graças ao Python
  • Ter um carro bacana, seguro e bonito, com dinheiro vinda da programação Python
  • Fazer viagens, conhecer o mundo e novas culturas, graças ao seu trabalho com Python

E sim, isso é possível!
Faça seu café, sente-se confortavelmente e tire 15min do seu dia para ler algo que pode mudar sua vida.

Programador Python: Tem mercado? Quem precisa ?

Você tem amigos que cursam ou cursaram direito?
Eu tenho (muitos, diga-se de passagem).

Pergunte a eles como está o mercado, o salário...e prepare-se para histórias tristes. É muito, muito difícil conseguir um emprego para quem é formado em cursos como Direito, Administração etc. Nada contra, pelo amor de deus.

Mas o motivo é bem simples: todo bairro hoje em dia tem uma faculdade que oferece esses cursos. E o número de formandos é imenso. Todo santo semestre dezenas de milhares de alunos se formam nessas áreas...e infelizmente não tem vaga pra todo mundo.

Até pra medicina, curso notavelmente conhecido por seu bom salário e a existência de vagas, a coisa está complicando. O salário médio de um médico vem diminuindo, é algo extremamente difícil conseguir uma residência pra se especializar...e muitos tem que ir pra interior, e todos sem exceção, fazem jornadas árduas e longas de trabalho.

E não é pra menos, cada vez mais faculdades, formandos, situação ruim do país...

Fazer curso de Python online grátis


E pra Python, como está o mercado?

Quantos advogados, engenheiros, estudantes de medicina, economia, administração etc, você conhece? Muitos, aposto.

E programadores? Se conhecer um, já é muito.

Agora outro exercício:
  • Olhe pra suas mãos: celular, tablet, notebooke...
  • Olhe pra frente: notebook, TV smart, painel digital de um carro...
  • Olhe ao redor: em supermercados, ruas, farmácias, pro céu...

Onde não tem programação? Duvido achar um local que não tenha algo com algum software. Pode ir em uma favela ou sertão nordestino que vai ver gente com algum dispositivo digital.

O aumento do uso da tecnologia é MEDONHO. A carência, necessidade de gente nessa área é MONSTRA.

E o tanto de gente nessa área você respondeu: é pouco!
Raro encontrar um programador, alguém que faz isso, vive disso...e não é pra menos, não é algo tão simples.

Python Mercado de Trabalho
Quem usa Python?


O segredo da programação no Mercado de Trabalho

Cada vez mais a tecnologia vai estar presente no mundo, inclusive substituindo humanos.

E quem vai sair na vantagem? Quem é da área.
Vão precisa de fazer pra fazer, criar, organizar, ensinar...coisas relacionadas a tecnologia e programação.

Sempre. O mundo vai ser dos programadores, a verdade é essa. Pura, simples e clara.

Desde grandes companhias aéreas, fábricas de carros até o botequim do seu Zé vai precisar de tecnologia, softwares....amigos, tudo, em todo canto, é sério.

Ao contrário de advogados e administradores, que não a demanda é menor e o tanto de gente estudando é cada vez maior, no mundo da programação é o oposto: cada vez mais precisamos de programadores e tá cada vez mais raro achar um.

Não estou tentando de convencer ou 'vender meu peixe', até porque não vamos ganhar nada com isso. Apenas olhe ao seu redor e tire suas conclusões.

Salário quanto ganha um programador Python


Como Ser Programador Python

Tem certeza absoluta da importância e que nunca vai faltar trabalhos para um programador? Excelente.

Vamos mais além: dos programadores, a gigantesca maioria ou sabe PHP ou Java. Nada contra. Mas ache um programador Python, uma linguagem em crescimento exponencial nos Estados Unidos, Japão e Europa. Não acha.

E quem sabe Python, sabe criar sites, fazer aplicativos, serve para trabalhos acadêmicos, etc etc etc. Aprende uma coisa, depois vai ter é dificuldade de qual área seguir, de tantas possibilidades.

Então vamos te ensinar agora como ser um programador Python.
São apenas dois passos.

Passo 1 para ser Programador:
Estude insanamente

Não tem pra onde correr.

Se perguntar aos melhores engenheiros, médicos, físicos, programadores, empresários e tudo mais que imaginar, o que fizeram diferente, a resposta vai ser: me esforcei mais que a maioria.

Sinto te informar, mas fazendo o que todo mundo faz, o tanto que todo mundo faz, você vai ser só mais um.

Quer ser realmente bom, foda, viver bem, ajudar sua família, viajar e tudo mais? Faça mais que a maioria.

  • Enquanto a maioria estiver vendo série, estude e programe.
  • Enquanto a maioria tá vendo tv e BBB, estude e programe.
  • Enquanto a maioria tá dormindo até meio-dia, estude e programe.
  • Enquanto a maioria tá perdendo tempo, fazendo nada e vendo o tempo passar, estude e programe.

Não tem segredo nem mistério, é estudar muito, o máximo possível. De noite, no ônibus, dar uma lidinha antes de dormir etc etc.

Pra fazer isso, a gente tá aqui pra te ajudar.
Se estudar pelo Curso Python Progressivo, vai ter um curso completo, bem explicado, com muitos exemplos, exercícios, projetos reais, indicação de vídeos, livros...CONSUMA TUDO!

Estude e tente fazer os programas até chorar em posição fetal (isso acontece muito, até durmo assim vez e outra, de tão acostumado).

Essa é a parte mais importante, é 99% do segredo para se tornar um bom programador Python profissional, é a mais difícil, trabalhosa e custosa.

A segunda parte é, de longe, a mais fácil, simples e barata.

Passo 2 para ser Programador:
Obtenha um certificado

Você pode ser o médico mais foda do universo, mas só vai trabalhar se for formado e tiver seu diploma.

Mesmo Einstein, pra dar aula de Física, teve que se formar e obter certificado (ele odiava aula, faculdade e teve muita dificuldade pra se formar, de tão chato que achava).

Não importa o que vai fazer, é preciso que, digamos, você 'prove' que estudou. No caso do nosso mundo da programação e computação, isso vem por meio de certificado e diploma.

Se não faz faculdade, não tem tempo, dinheiro ou mesmo curso na sua cidade, relaxe totalmente. Um bom programador é reconhecido por seu talento, seu código, seu software, e não se é formado na Uniesquina, ITA ou curso online.

Então, dou aqui a solução pra vocês, que usei:

Curso online grátis de Python
Clique para obter sua certificação

Curso de Python com Certificado:

Por que fazer ?


Bom, vamos resumir o motivo pela qual você deve fazer o curso acima, o mais rápido possível:

  • Preço: é absurdamente barato, chega a ser ridículo o preço R$ 39,90. Pagamento único. Sim, tem que meter a mão no bolso, eu meti, todo mundo que vive de Python já pagou e não existe outro jeito de ter sua certificação
  • Tempo de aula: são 72 horas / aula, e você pode aumentar até pra 252 h /aula, para aumentar sua capacitação e certificados
  • Acesso: só precisa ter internet. Pode acessar do computador, tablet, celular, no ônibus, no intervalo da escola/faculdade/trabalho. Tá sempre online.
  • Disponibilidade: 24 horas. Qualquer dia, qualquer horário, dia de semana, final de semana, feriado...estude quando quiser e quando puder (é aqui que a galera de faculdade sente inveja)
  • Ritmo: demore o tempo que quiser, em qualquer aula, explicação, exercícios etc. Faça tudo no seu tempo. Só tem 20 min durante o almoço? Pode ter seu certificado. Só 1h antes de dormir? Opa, aqui mesmo que vai obter seu certificado. Demora pra aprender? Vá devagar, repita...Esqueceu? Volte e estude de novo
  • Material: o curso inteiro é bem organizado e dividido por etapas. Tem um banco de perguntas e respostas com dúvidas de outros alunos, além de resumos disponíveis para consulta (usava muito pra relembrar facilmente algo que já tinha estudado, sempre esqueço)
  • Certificado: Serve para completar Horas em Atividades Extracurriculares,  em Universidades. Pode contar como Atividades em Concursos Públicos. Pode constar em seu Currículo. Através da Autenticação Digital, confirmam sua conclusão na Brava Cursos Online

Certificado válido em todo território nacional.

Curso de Python grátis de graça

Conteúdo do Curso de Python


O curso desenvolverá no aluno a capacidade de:
  • Aprender a programar em uma linguagem simples e poderosa
  • Resolver problemas utilizando uma linguagem de programação
  • Desenvolver seus próprios programas de computador
  • Aprender boas práticas de programação
  • Conhecer os mais variados aspectos da linguagem Python
  • Desenvolver o raciocínio lógico
  • Cálculos matemáticos
CONTEÚDO PROGRAMÁTICO:
  • Apresentação
  • Um pouco mais sobre o criador do Python
  • Características da linguagem
  • Preparando o ambiente
  • Começando a programar em Python
  • Variáveis
  • Operadores
  • Estruturas de controle
  • Entrada e saída de dados
  • Funções
  • Listas
  • Manipulando listas em Python
  • Arquivos
  • Manipulando arquivos em Python
  • Cálculos matemáticos
  • Criando classes
  • Utilizando herança
  • Interface gráfica
  • Palestra Tkinter
  • Criando threads
  • Dicionários
  • O perigo de importar tudo
  • Compactador de arquivos
  • Estrutura de dados Fila
  • Manipulando o tempo
  • Programando Games com Python e CodeSkulptor
  • Games com CodeSkulptor
  • Bioinformática com Python e Rosalind
  • Considerações Finais

Como obter o certificado do curso de programação Python
Clique aqui para fazer o curso

Como Criar uma Lista e Acessar seus Dados (itens)

Neste artigo, vamos de fato aprender a usar uma lista, criando uma, adicionando dados e acessando seus itens internos.

Tutorial anterior:

Leia também:
  1. Certificado do curso de Python
  2. Curso Python Progressivo em PDF

Como Criar uma Lista

Chega de enrolar, chega de teoria, vamos colocar a mão na massa e começar a trabalhar com as danadas das listas.

O que define uma lista nada mais é que um par de colchetes: [ ]

Uma lista de animais:
['gato', 'rato', 'elefante']

Uma lista com notas da escola:
[ 9.5 , 10.0 , 7.4]

Cada dado dentro da lista é chamado de item.
Os itens são sempre separados por vírgula,

Experimente digitar uma lista dessas no prompt do Python.
Vai ver que ele retorna a própria lista.

É a mesma coisa que digitar qualquer tipo de dado. Se escrever um número e der enter, ele repete o número. O mesmo com strings, o mesmo com listas...afinal, são um tipo de dado também.

Obviamente, a maneira mais comum de usar listas, é atribuindo ela a uma variável.
meusBichos = ['Rex', 'Fred', 'Jamille']
notas = [ 10.0 , 8.5 , 7.8 , 9.0 ]


Exercício de Listas em Python

Crie um programa em Python que peça seu nome, sua idade, sua altura, seu peso e True se for casado ou False para solteiro.
Em seguida, ele deve armazenar todas essas informações numa lista chamada eu. Por fim, imprima essa lista na tela.

Primeiro, criamos 4 variáveis: nome, idade, altura e peso.
Usando o input para armazenar os dados, lembrando que nome é uma string, idade um inteiro, altura e peso são do tipo float. Sem mistério.

Perguntamos se o usuário é casado ou solteiro e armazenamos essa resposta uma variável op, que vai receber o booleano True ou False dependendo de seu estado civil.

Depois, criamos nossa lista de nome eu, abrindo colchetes, colocando diretamente as variáveis lá, separando seus itens por vírgula e fechando o colchete ao final.

Por fim, jogamos a variável eu, que é uma lista, dentro do print.
Como o Python é super experto, já detecta que é uma lista e imprime ela bem direitinho, veja: 
Listas em Python

O código de nosso script Python ficou:

nome = input("Qual seu nome: ")
idade = int(input("Qual sua idade: "))
altura = float(input("Qual sua altura: "))
peso = float(input("Qual seu peso: "))

op= int(input("Estado civil:\n1.Casado\n2.Solteiro\n"))

if op==1:
    op = True
else:
    op = False

eu = [nome, idade, altura, peso, op]
print(eu)




Acessando os dados de uma Lista

Chamamos de item os dados contidos em uma lista. No exemplo anterior, nossa lista possui 5 itens.

Como podem ver, o primeiro é o nome, o segundo a idade e por ai vai, até o quinto, o booleano op.
Nada mais óbvio que acessar o primeiro pelo número 1, o segundo pelo número 2 e assim sucessivamente, concorda?

Errado! Na computação, não!
Em programação, o primeiro elemento é o de número 0.

Acessamos o primeiro item da tela, colocando esse índice entre colchetes:
eu[0] = 'xico matos'

Já o segundo, é o de índice 1:
eu[1] = 30

Como são 5 itens, o último tem índice 4 (5-1):
eu[4] = False

Se você tentar acessar um índice cujo item não existe na lista, vai obter uma mensagem de erro.

Exercício de Listas em Python
O print do exemplo anterior está muito feio. Entre colchete, com aspas, vírgulas...faça um print bonitinho, onde cada linha é uma informação e dizendo que informação é aquela, para ficar igual abaixo:
Curso de Python online grátis para download com certificado


Agora, ao invés de darmos simplesmente um print(eu), vamos ter que quebrar os itens da lista.
Vamos usar 5 prints, um para cada informação que vamos exibir.

Para isso, vamos ter que usar os itens separadamente, através de seus índices.
Para nome   : eu[0]
Para idade   : eu[1]
Para altura   : eu[2]
Para peso    : eu[3]
Estado civil: eu[4}

Vejam como ficou nosso script:

nome = input("Qual seu nome: ")
idade = int(input("Qual sua idade: "))
altura = float(input("Qual sua altura: "))
peso = float(input("Qual seu peso: "))

op= int(input("Estado civil:\n1.Casado\n2.Solteiro\n"))

if op==1:
    op = True
else:
    op = False

eu = [nome, idade, altura, peso, op]

print("Nome  : ", eu[0])
print("Idade : ", eu[1], " anos")
print("Altura: ", eu[2], "m")
print("Peso  : ", eu[3], "kg")
print("Casado: ", eu[4])



Lembrem-se: o primeiro item de uma lista, tem sempre, SEMPRE, índice 0:

Apostila de Python para download

Nunca mais conte: 1, 2, 3, 4, 5...
Programadores começam sempre do 0: 0, 1, 2, 3, 4, 5...

Lista em Python - O que é? Para que serve? Por que usar ?

Neste tutorial, vamos aprender o que é uma lista em Python, para que serve, como funcionam e onde mais iremos utilizar elas.

Se desejar ter esse material em PDF, acesse:

Vale muuito a pena! Além do conteúdo mais organizado e num mesmo local, possui mais conteúdo e questões resolvidas que aqui no site.

Listas em Python - O que são?


Sabe os números? Inteiros, float...? São um tipo de dado.
E as strings ? Também um tipo de dado.
E os booleanos, valores lógicos True e False? Tipo de dado.

Pois é, uma lista também é isso, um puro e simples tipo de dado.

Sendo mais específico, tecnicamente, uma lista é um objeto de coleção ordenada.
Mas não gosto muito dessas definições técnicas, mais confundem que ajudam.

Vamos para a prática.






Listas em Python - Para que serve?

Esqueça programação.
O que é uma lista?

Por exemplo, a lista de alunos de sua turma.
Lá tem o número em ordem crescente, e o nome das pessoas. Pronto, a lista é monte de informação, de maneira ordenada. Pode ser ordenada a partir do número, em ordem alfabética, por data de nascimento, por notas etc.

Agora imagine uma lista de funcionários de uma empresa.
Tem o nome deles, função, salário, tempo de empresa, pode ter outra lista com as datas para folga e férias, e por ai vai.

O fato é que é ambos exemplos são de coleção de dados ordenada, concorda?

Voltemos pro Python: aqui é a mesma coisa.
Uma lista é um punhado de informações (nenhuma, uma, duas ou milhões de dados), dispostos de maneira ordenada.

Assim como as listas do mundo real, as listas no Python nos permitem organizar melhor os dados, encontrar informações etc.

Por exemplo, uma lista de alunos em ordem alfabética, facilmente você vai achar o Francisco.
Pode ter 200 alunos na turma, mas você vai direto lá pela região da letra 'F' e facilmente encontra seu amigo Xiquinho.

Mesma coisa na programação, as listas vão nos permitir trabalhar com um montão de dados de uma vez, de uma maneira bem simples e poderosa.



Por que usar listas?

Os propósitos são muitos, mas basicamente é pela facilidade de se lidar com coisas ordenadas. Elas, automaticamente, tem uma numeração, uma ordem lógica. Lembre-se que as coisas em computação são grandes, trilhões de bits, informações, números, dados, etc etc etc.

As listas nos fornecem uma infraestrutura para lidar com bastante informação de uma maneira bem simplificada e poderosa.

Por exemplo, as listas tem comprimento móvel, você pode ficar adicionando novos itens (como um novo cadastro de um produto de um supermercado) ou retirar (quando a empresa demitir um funcionário).

Você pode 'misturar' diversos tipos de dados em uma lista (como números, strings etc), inclusive colocar uma lista dentro de outra.

Se você já estudou outras linguagens de programação, pode notar que as listas lembram os arrays (em Java) ou ponteiros (em C/C++), principalmente pelo fato delas conterem, na verdade, referências para outros objetos nela.

Se não estudou, calma.
Nesta seção, vamos com bastante calma, com muitos exemplos e muitos códigos para você fixar bem os conceitos de sequências, pois são muitíssimo importantes!

No próximo tutorial, vamos aprender como criar uma lista e acessar seus itens.

Como Criar um Jogo em Python - Adivinhe o Número!

Neste tutorial de nossa apostila de Python, vamos te ensinar passo a passo, bem do começo, como desenvolver um jogo simples usando os conhecimentos obtidos de Testes e Laços e Funções.

Leia também:

Como Programar um Jogo em Python


Enunciado do game:

Crie um jogo em Python onde o computador vai sortear um número de 1 até 100.
Em seguida, você vai tentar adivinhar que número foi esse.

A cada tentativa, ele vai te dizer se seu palpite foi alto, baixo ou se você acertou.
Quando acertar, deve mostrar quantas tentativas você fez até acertar.

Pessoal, de coração: tente.
Tente muito, tente novamente, mesmo que fique grande, horroroso, todo remendado...mas tente.

Você vai precisar saber:



Para você não ver a solução, vamos escrever ela somente abaixo dos anúncios.
Tente não olhar o código comentado antes de tentar bastante desenvolver esse game em Python.









Lógica para criar um jogo em Python

Bom, vamos lá.

Primeiro, vamos criar nossa função gera(), que simplesmente vai retornar um inteiro de 1 até 100, através da função randint(), da biblioteca random que você deve importar no início do código.

Agora vamos pra função game(), onde a mágica vai acontecer.
Primeiro geramos o palpite do computador, e armazenamos na variável resposta.

Depois, inicializamos a variável tentativa com valor zero, ela que vai contar quantas tentativas o jogador vai fazer, até acertar.

O chute do usuário vai ser armazenado na variável chute, que vamos inicializar com 0.
Agora entramos no laço, que vai se repetir enquanto o jogador não acerte seu chute: ou seja, enquanto a variável chute seja diferente da variável resposta!

Como ele vai chutar, já incrementamos a variável tentativa em uma unidade.
Em seguida, pedimos o chute dele.

Agora vamos tratar o chute com testes condicionais IF, ELIF e ELSE
Se o chute dele for maior que a resposta, dizemos que o número sorteado é menor.
Se for um chute baixo, dizemos que o sorteado é maior.
Por fim, se acertar, damos uma mensagem de parabéns, mostramos o número sorteado bem como quantas tentativas a pessoa teve até acertar.

Prontinho.
Agora colocamos um laço while pra chamar direto a função game() e pode jogar a vontade!


Código Python do Jogo

import random
def gera():
    return random.randint(1,100)

def game():
    resposta = gera()
    tentativa = 0
    print("\nPalpite gerado!")

    chute=0
    while chute is not resposta:
        tentativa +=1
        chute = int(input("Qual seu chute: "))
        if chute > resposta:
            print("Errou! É um valor menor que ", chute)
        elif chute < resposta:
            print("Errou! É um valor maior que ", chute)
        else:
            print("Parabéns! O número gerado foi ",resposta, \
                  "Acertou em ",tentativa," tentativas!")
    
while True:
    game()


Script: Quantos dígitos tem no número ?

Neste tutorial de nosso Curso de Python, vamos te mostrar como programar um script que calcula, de maneira bem simples e fácil, quantos dígitos possui um número.

Como Calcular os Dígitos de um Número


Uma maneira bem simples de calcular quantos dígitos tem um número, é transformar ele em string.

Se você tem um número n e quiser transformar ele em string, basta usar a função str()

  • str(n) -> retorna uma string


Agora, tudo que temos fazer é calcular o tamanho dessa string.
Isso é facilmente feito com a função len()
Se texto é uma string, a função len(texto), retorna o tamanho dessa string.

Agora, só precisamos jogar dentro de len() o número que transformamos em string ( str(n) - onde n é um inteiro).

Código Python do Script

def contaDigito(n):
    return len( str(n) )
def exibe():
    n = int(input('Forneça um inteiro: '))
    print(contaDigito(n), ' dígitos')
    
while True:
    exibe()




Números Perfeitos em Python

Neste tutorial de nosso Curso de Python Online, vamos aprender o que são os números perfeitos, como descobrir se um número é e vamos gerar todos os números perfeitos em uma determinada faixa de valores.

É um exercício resolvido de nossa lista de questões de funções.
Leia também:

Como Descobrir um Número Perfeito em Python


Vejamos o enunciado da questão:

Um número é dito perfeito quando ele é igual a soma de seus fatores. Por exemplo, os fatores de 6 são 1, 2 e 3 (ou seja, podemos dividir 6 por 1, por 2 e por 3) e 6=1+2+3, logo 6 é um número perfeito. Escreva uma função que recebe um inteiro e dizer se é perfeito ou não. Em outra função, peça um inteiro n e mostre todos os números perfeitos até n.

Ou seja, temos que fatorar o número para saber se ele é um número perfeito.
Para isso, vamos usar o operador % de resto da divisão.

Na função perfeito( n ), devemos pegar o argumento passado n e fazer o resto da divisão por 1, 2, 3, 4, ..., até n. Fazemos isso com a função range(1, n+1), que vai testar de 1 até n.

Se der 0 o resto da divisão, é porque esse valor é um divisor de n.
Vamos somar esse valor a uma variável chamada soma, que inicializamos com valor 0, no início da função perfeito().

No final, pegamos o valor contido em soma e comparamos com n.
Se forem iguais, retornamos True, pois é perfeito.
Se não forem iguais, não é um número perfeito e retornamos False.



Exibindo números perfeitos

Agora vamos para a função exibe(), que inicialmente pede um número inteiro ao usuário, n,

O que essa função vai fazer é jogar de 1 até n na função perfeito() e exibir os números que retornarem True, ou seja, que são perfeitos!

Fazemos isso com um simples laço for com range(1,n+1) e um IF dentro do laço, para testar o retorno da função perfeito().

Teste o código abaixo com os seguintes valores: 28, 496, e 8128. São perfeitos?



Código Python

def perfeito(n):
    soma=0
    for val in range(1,n):
        if n % val == 0:
            soma += val

    if soma==n:
        return True
    else:
        return False
        
def exibe():
    n = int(input('Exibir primos até o número: '))
    
    for val in range(1,n+1):
        if(perfeito(val)):
            print(val)
    
while True:
    exibe()

Como Gerar Números Primos em Python

Neste tutorial de nosso Curso de Python, vamos te mostrar como gerar um número primo e vamos aprender como exibir todos os primos numa determinada faixa de valores.

É um exercício resolvido de nossa lista de questões de funções.
Leia também:

Como Saber se um Número é Primo em Python


Primeiro, vamos criar uma função chamada primo( n ) que recebe um inteiro positivo n como parâmetro.

Devemos testar esse valor n para saber se ele é primo ou não.
Relembrando: número primo é aquele que é divisível somente por 1 e por ele mesmo (por -1 e -ele também).

Ou seja, o resto da divisão por 2, 3, 4..., até n-1 tem que ser diferente de 0.

Pois é, foi usado pra saber se um número é par ou não, agora vamos usar para detectar um número primo.

Dentro da primo() simplesmente saímos calculando o resto da divisão de n por 2, por 3, ...até n-1.

Se der 0, fazemos return False, pra dizer que o número não é primo.
Se após todos esses testes do laço for ele não der False, é porque é verdade esse bilete...digo, ele é primo e damos um return True.

  • Código dessa função:
def primo(n):
    for val in range(2,n):
        if n % val == 0:
            return False

    return True
        




Exibindo números primos em um intervalo

Ok, já sabemos testar se um número é primo ou não.
Agora precisamos exibir todos os primos de 1 até n.

Vamos fazer isso através da função exibe(), que vai pedir um inteiro positivo maior que 1 para o usuário.

A seguir, vamos criar um laço for que vai testar os números 2, 3, 4, ... até o n, pra saber se cada um desses valores é primo.

Se for, imprime ele. Fazemos isso usando a função range:


def exibe():
    n = int(input('Exibir primos até o número: '))
    for val in range(2,n+1):
        if(primo(val)):
            print(val)




Código Python

Nosso script que descobre e exibe os números primos é, portanto:

def primo(n):
    for val in range(2,n):
        if n % val == 0:
            return False

    return True
        
def exibe():
    n = int(input('Exibir primos até o número: '))
    for val in range(2,n+1):
        if(primo(val)):
            print(val)
    
while True:
    exibe()

  • Exercício proposto:
Otimize o código acima de duas maneiras:
  1. Faça a função primo() testar os valores até n/2 ao invés de n
  2. Faça a função primo() testar até a raiz quadrada de n

Descubra o motivo das otimizações acima.

Gerar a Série de Fibonacci em Python (Recursividade)

Neste tutorial de nosso Curso de Python, vamos aprender como gerar a tão famosa sequência de Fibonacci, usando funções e recursão!

É um exercício resolvido de nossa lista de questões de funções.
Leia também:

Gerando a Sequência de Fibonacci em Python


A série de Fibonacci é uma sequência de números, cujos dois primeiros são 0 e 1. O termo seguinte da sequência é obtido somando os dois anteriores. Faça uma script em Python que solicite um inteiro positivo maior que 1 ao usuário, n. Então uma função exibe todos os termos da sequência até o n-ésimo termo. Use recursividade.

Vamos criar uma função chamada fibo( n ) que tem o parâmetro n.
O argumento que você deve passar para esta função é um inteiro positivo, maior ou igual a 2.

Como a série de Fibonacci é formada somando seus dois termos anteriores, sua fórmula geral é:
fibo(n) = fibo(n-1) + fibo(n-2)

Mas como toda boa função que usa recursividade, ele tem que ter um stop, pois uma hora ela vai ter que parar. Fazemos isso usando testes condicionais IF.

No nosso caso, vai ter dois stops.
Se o valor de n for igual 1, vamos retornar 0 (pois o primeiro termo é 0).
Se o valor de n for igual 2, vamos retornar 1 (pois o segundo termo é 1).

Pronto, para valores maiores que 2, basta somarmos os dois termos anteriores.

Agora vamos montar nossa função menu().
Ela pede o termo n ao usuário, que deve ser inteiro e maior que 2.

Agora ela deve imprimir na tela os valores de fibo(1), fibo(2), fibo(3)....até fibo(n).
Lembre-se, nossa função mostra o n-ésimo termo!

Então temos que imprimir todos, de 1 até n.

Fazemos isso usando um laço for, que vai de 1 até n (função range). 

E prontinho, vai exibir cada termo da sequência de Fibonacci, um por linha!

Danada essa função recursiva, não?



Código Python

Nosso código ficou assim:


def fibo(n):
    if n==1:
        return 0
    elif n==2:
        return 1
    else:
        return fibo(n-1) + fibo(n-2)
        
def menu():
    n = int(input('Exibir ate o termo (maior que 2): '))

    for val in range(1,n+1):
        print(fibo(val))
    
while True:
    menu()


Jogando Dados com Python - Estatística e Probabilidade

Neste tutorial de Python, vamos envolver programação e Matemática, especificamente estatística e probabilidade, e vamos comprovar na prática que elas existem e funcionam!

Leia também:

Jogando os Dados com o Python


Para gerar nossos números aleatórios de 1 até 6, vamos definir a função gera() que não tem nenhum parâmetro e vai, obviamente, retornar número inteiro de 1 até 6.

Para isso, vamos usar a função randint da biblioteca random.
Se não leu nosso tutorial, veja: Como gerar números aleatórios em Python

Essa função recebe os argumentos 1 e 6, parar gerar inteiros de 1 até 6. E para usar ela, temos que importar o módulo random.
Ela fica:

import random

def gera():
    return random.randint(1,6)

Agora, vamos criar a função repete(n), que vai repetir n lançamentos de dados, onde n o usuário vai escolher quantas vezes vai jogar os dados.

Vamos armazenar os resultados 1, na variável test1.
Vamos armazenar os resultados 2, na variável test2.
...
Vamos armazenar os resultados 6, na variável test6.

Então inicializamos essa variável com todas elas igual a 0.

Agora vamos fazer um laço for pra rodar n vezes o lançamento de dados.
Cada vez que lança o dado (simplesmente chamando a função gera() - uma maravilha função né?), armazenamos na variável test.

Em seguida, vamos fazer várias comparações com IF, ELIF e ELSE, para saber se o valor do dado é 1, 2, 3, 4, 5 ou 6. E quando achar o valor certo, incrementar em 1 o valor da variável test1, ou test2 ou ... test6.

Ou seja, ao final do laço for, as variáveis test1, test2, ..., test6 terão quando vezes foi sorteado o número 1, 2, 3, 4, 5 e 6 respectivamente.

Então simplesmente damos seis prints, para exibir quantas vezes cada número saiu, bem como mostramos a porcentagem de frequência de cada valor,





Veja o código:

import random

def gera():
    return random.randint(1,6)

def repete(n):
    test1=test2=test3=      \
    test4=test5=test6 = 0
    for val in range(n):
        test = gera()

        if(test==1):
            test1 += 1
        elif(test==2):
            test2 += 1
        elif(test==3):
            test3 += 1
        elif(test==4):
            test4 += 1
        elif(test==5):
            test5 += 1
        else:
            test6 += 1
            

    print("Numero 1 saiu ", test1," vezes = ",(test1/n)*100, " %")
    print("Numero 2 saiu ", test2," vezes = ",(test2/n)*100, " %")
    print("Numero 3 saiu ", test3," vezes = ",(test3/n)*100, " %")
    print("Numero 4 saiu ", test4," vezes = ",(test4/n)*100, " %")
    print("Numero 5 saiu ", test5," vezes = ",(test5/n)*100, " %")
    print("Numero 6 saiu ", test6," vezes = ",(test6/n)*100, " %")

        
def menu():
    n = int(input('Quantos lançamentos de dado? '))
    repete(n)
    
while True:
    menu()

PS 1: Quanto maior for o n, mais a porcentagem se aproxima de 16,67% pois vai tendendo à probabilidade, que é de 1/6 .

PS 2: Mais na frente, quantos estudarmos sequências, você aprenderá maneiras mais simples de se trabalhar com várias variáveis de uma vez só.