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

Progressão Aritmética (PA) em Python

Agora que você estudou aprendeu bem a usar o laço FOR e a função range, vamos colocar nosso conhecimento em prática e criar qualquer Progressão Aritmética (PA) que o usuário desejar.

Laço FOR em Python - Um loop controlado

Agora que já estudamos e aprendemos direitinho, em nosso Curso Python Progressivo, como usar o laço While, vamos aprender um outro loop, chamado FOR.

Laço FOR em Python - Como usar ?

Sem mais delongas, vamos mostrar como é a declaração e estrutura de um laço for, em Python:

for variavel in [val1, val2, val3, etc]:
    codigo
    codigo
    codigo

Funciona basicamente assim.
A variável 'variavel' vai assumir o valor da variável 'val1', e executa o código.

Em seguida, 'variavel' recebe o valor de val2, e executa o código. E assim sucessivamente, até 'variavel' ter recebido todos os valores da sequência.

Ou seja, nosso laço for tem três coisas:
A variável que vai receber os valores de uma sequência de dados
A sequência de dados
Código a ser executado em cada iteração

Diferente do loop WHILE, que apenas faz um teste (se for verdadeiro executa um código, se for falso, termina o loop), o loop FOR é dito controlado, pois vai executar um determinado número de vezes, que nós escolhemos previamente.

Vamos ver alguns exemplos de uso do laço FOR para firmar os conceitos, só ler essa abstração é meio...abstrato.

Exemplo 1 de uso do laço FOR em Python

"Crie um script em Python que imprima os números de 1 até 5 na tela."
 
Nossa sequência é: 1, 2, 3, 4, 5
Então, nosso código fica:

for val in [1,2,3,4,5]:
    print(val)

Sim, é só isso.
E mais simples é o funcionamento: a variável 'val' recebe o valor 1, e imprime. Depois recebe o valor 2, e imprime....por fim, recebe o valor 5 e imprime.

Como a variável percorreu todos os elementos da lista (esses valores entre colchetes se chamam list e estudaremos as listas com afinco, mais na frente em nosso curso), o laço for acaba.

Exemplo 2 de uso do laço FOR em Python

"Crie um script que imprime todos os dias da semana na tela."
 
Não é obrigatório usarmos números na sequência. Uma lista pode ser formada de strings, por exemplo.

Nosso código fica:

for dia in ['Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado', 'Domingo']:
    print(dia)


Ou seja, a variável 'dia' recebe o valor de cada string e imprime na tela.

Exercício:

"Escreva um script que imprima os números de 1 até 1000."

"Nossa senhora, vou ter que usar a sequếncia [1,2,3,4,5,6,7,8,9...,1000] ???
Deus me livre!"

Calma, nobre cavaleiro Python. A programação veio para facilitar nossas vidas, e não o contrário.

Não precisa digitar os mil números, é para isso que serve o Python: trabalhar pra gente!

No próximo tutorial de Python, vamos aprender a usar a função range() do Python, que resolve esse problema e muitos outros.

A função range

Curso de Python com Certificado

Já imaginou ganhar dinheiro com Python?
Se, trabalhando e se tornando um programador Python profissional.

Pois é, pare de imagine e tome uma atitude pra isso se tornar realidade:
Curso de Python

A função range() - O que é, Para que serve e Como usar

Este tutorial é a continuação da aula sobre o laço FOR em Python (clique neste link anterior caso não tenha estudado a aula anterior).

Agora vamos aprender como deixar nossos laços e loopings bem mais poderosos e interessantes, através da função range

Função range() do Python
A função range é bem simples e sua funcionalidade é simplesmente nos retornar uma lista de números inteiros.

A maneira mais simples de usar a função range é:
range(n)

Onde 'n' é um número.
Ele vai fornecer uma lista com os elementos: 0, 1, 2, ..., (n-1)
Note que ele fornece uma lista de 'n' elementos, começando sempre do 0.

Como vai fornecer 'n' elementos e começa do 0, o último elemento é sempre n-1 
Vamos ver um exemplo, refazendo o exercício 1 da aula passada:


Exemplo 1: Função range em Python

"Crie um script em Python que imprima os números de 1 até 5 na tela, usando a função range."
 
Nosso código fica assim:

for val in range(5):
    print(val+1)


Quando fizemos 'range(5)', essa função vai retornar a lista: [0,1,2,3,4]
Mas queremos números de 1 até 5, então na hora de imprimir basta somar 1 a variável 'val'.

Bem melhor que fazer [1,2,3,4,5], não é verdade?

Início e Fim na range()

No exemplo 1, usamos apenas um argumento (depois você vai aprender melhor o que é um argumento), no caso, um número inteiro.

Porém, podemos usar dois argumentos na range, da seguinte forma:

range(inicio, fim)

Isso vai nos fornecer uma lista de números, porém ao invés de começar em 0, começa em 'inicio' e vai até 'fim-1'

Exemplo 2: Função range em Python

"Crie um script em Python que imprima os números de 1 até 5 na tela, usando a função range como elemento de início e o de fim."


for val in range(1,6):
    print(val)


Note que não precisamos mais imprimir 'val+1', pois a variável 'val' irá receber os valores 1, 2, 3, 4, e o 5 (ou seja, até 6-1)

Início, Fim e o Pulo na range()

Note outra coisa em nossa amada função range, ele vai avançando de 1 em 1.
Mas se eu quiser avançar de 2 em 2, 3 em 3 ?

A range nos permite fazer isso, basta dizer o valor desse salto, desse pulo:

range(inicio, fim, pulo)

Exemplo 3: Função range em Python

"Crie um script em Python que imprima os números pares de 1 até 100."

Os números pares são 2, 4, 6, 8, ..., 100
Eles vão subindo, pulando de 2 em 2.

Veja como fica nosso laço FOR usando a range com pulo:


for val in range(2,101,2):
    print(val)

Primeiro a variável recebe par número 2. Depois imprime.
Em seguida, pula pro próximo elemento: 2+2=4 e então imprime.
Depois, pula pro próximo elemento: 4 + 2 = 6 e imprime.
Depois, 6+2 = 8 e imprime...

Atééééé 101-1=100
Beeeeem melhor usar o laço FOR e a range, não é verdade?
Imagina fazer isso na mão ([2,4,6,8,...,100]), não tem como!


Exemplo 4: Tabuada em Python

"Crie um script em Python que pede qual tabuada o usuário quer ver, em seguida imprima essa tabuada"

Primeiro, pedimos qual a tabuada o usuário quer (do 1, do 2, do 3...) e armazenamos essa informação na variável 'tabuada'.

A tabuada nada mais é que multiplicar um número por 1, depois por 2, depois por 3, depois por 4....até chegar no 10.

Vamos fazer com que a variável 'var' receba os valores de uma lista que vai de 1 até 10, e em cada iteração do laço FOR, multiplicamos pelo número que o usuário nos forneceu, a variável 'tabuada'.

Nosso código de tabuada fica assim:


tabuada = int(input("Qual tabuada fazer: ") )

for var in range(1,11):
    print(tabuada*var)


Note que fizemos de 1 até 10, se quiser pode fazer até cem, mil, um milhão...tudo com o mesmo código, praticamente.

Interessante Python, não é?
E em pensar que antigamente era 'castigo' e deve de casa, fazer tabuadas gigantescas, agora com 3 linhazinhas de código podemos fazer qualquer tabuada de maneira praticamente instantânea.

Vamos aprender a usar o laço FOR junto da função range para criar uma:
Progressão Aritmética (PA) em Python

WHILE em Python - Como usar

Neste tutorial de nosso curso de Python, vamos estudar uma das coisas mais importantes e usada em programação: o laço while (ou looping while).

Laço WHILE

Sem mais delongas, vamos aprender a usar essa arma de destruição em massa, que é o laço while.

Seu formato é

while <teste>:
   codigo1
   codigo2
   codigo3
   ... 

codigo4

A instrução while funciona assim:
Assim que começa o while, ele faz um teste (como se fosse um IF teste condicional) e testa a instrução <teste>.

Se este teste resultar em verdadeiro (TRUE), tudo que está dentro do laço while (codigo1, codigo2, codigo3..., é executado).

Terminou de executar tudo?
Testa de novo. Deu true? Executa tudo de novo...

E fica assim, testando, executando, testando, executando...
Como se fosse um looping. E, de fato, é um looping.

E só vai parar quando o teste for FALSE.
Aí acaba o while e o 'codigo4', de fora, é executado e o script segue seu percurso naturalmente.

Você vai entender melhor usando alguns exemplos.

Exemplo 1 de uso do laço WHILE

"Crie um programa que imprima na tela os números 1 até o 10, usando o laço while".

Primeiro de tudo, vamos declarar a variável 'numero' e fazer ela iniciar com valor 1.

O que queremos é imprimir ela, depois fazer ela virar o número 2 e imprimir de novo. Fazer ela receber o número 3, e imprimir de novo...até virar o número 10, imprimir e acabar aí.

O nosso teste é: 'numero é menor ou igual a 10? Ok, então imprime'.
E o looping é simplesmente imprimir nossa variável.

Nosso código Python fica assim:

numero=1

while numero<=10:
    print(numero)
    numero += 1

Tem uma novidade aí: numero += 1
Que é o mesmo que: numero = numero + 1

Ou seja, estamos incrementando a variável 'numero' em uma unidade.
Vamos ver passo a passo como funciona esse tal de while.

Primeiro definimos nossa variável com valor 1.
Depois testamos se ela é menor que 10. Como é, vai executar o laço while.
Primeiro, imprime o valor da variável, que é 1.
Depois adiciona 1 a essa variável.

Agora ela vale 2. O teste é realizado, como 2 é menor que 10.
Executa de novo...imprime 2, incrementa e agora a variável é 3.

E assim vai indo, indo, repetindo, repetindo...vai chegar uma hora que 'numero=10'

Como 'numero<=10' é verdadeiro, o laço while é executado.
O número 10 é impresso na tela, e ele vira 11.

Agora, o teste vai dar falso e o while vai parar de executar.
E prontinho, você imprimiu do número 1 até o 10 usando o laço while!

Simples, não?
Vamos aprofundar mais e deixa esse código mais interessante.

Exemplo 2 de uso do laço WHILE

"Faça um programa que peça um número maior que 1 ao usuário. Em seguida, imprima todos os números, de 1 até o número que o usuário informou".

No exemplo anterior, a gente tinha um 'limite', que era o valor 10.
Quando chegava em 10...créu. Acabava o laço while.

Agora esse valor vai ser informado pelo usuário. Vamos armazenar essa informação na variável 'max' (de máximo).

Nosso código fica:

numero=1
max = int(input("Digite um inteiro maior que 1: ") )

while numero <= max:
    print(numero)
    numero += 1


Experimente digita 100, 1000, um milhão, um trilhão...
Veja que interessante: quantas vezes esse while vai ser executado?

Ué, depende do usuário!
Pode repetir uma vez, 10, mil, 1 trilhão...há uma interação entre o script e o usuário, vai fazer coisas diferentes de acordo com o desejo do usuário.

Exemplo 3 de uso do laço WHILE

"Escreva um programa que repita pra sempre, na tela, a mensagem 'Curso Python Progressivo'".

Quando que um laço vai se repetir pra sempre, indefinidamente?
Ué, quando seu teste for SEMPRE verdadeiro!

while True:
    print("Curso Python Progressivo")


Também poderia colocar '1', '2' ou qualquer outro valor diferente de 0 ou false no teste, que daria sempre verdadeiro e iria sempre repetir.

Exemplo 4 de uso do laço WHILE

"Crie um programa que peça um número ao usuário e imprima todos os números pares de 1 até o número fornecido"

Vamos usar o código do exemplo 2.
Porém, não vamos sair imprimindo tudo. Devemos fazer um teste antes (teste condicional IF) para saber se o número é primo, se for aí sim imprimimos.

Ou seja, vamos ter um IF dentro de um WHILE:

numero=1
max = int(input("Digite um inteiro maior que 1: ") )

print("Numeros pares entre 1 e", max, ":")

while numero <= max:
    if numero%2==0:
        print(numero,  end=" ")
    numero+=1

O end=" " é para mostrar um espaço em branco após imprimir cada número, ao invés de quebra de linha (enter).

Looping while em Python

Exemplo 5 de uso do laço WHILE

"Escreva um programa que pede a senha ao usuário, e só sai do looping quando digitarem corretamente a senha"

Obviamente, a senha é o número mais importante do universo:
senha='2112'

A senha que o usuário vai digitar, vai ficar na variável 'tentativa'.

Se 'senha' e 'tentativa' forem diferentes, o laço while fica repetindo e repetindo e repetindo...sempre pedindo a senha ao usuário.

O laço while só acaba quando as variáveis 'senha' e 'tentativa' forem iguais, ou seja, quando o usuário digitar a senha correta:

senha='2112'
tentativa=input("Digite a senha:")

while (senha != tentativa):
    print("Senha errada! Tente novamente!")
    tentativa=input("Digite a senha:")

print("Senha correta. Entrando no sistema...")

Pelo amor de deus, agora que sabe como funciona, não vai sair por aí usando seus conhecimentos pra invadir o sistema da Nasa, FBI, Polícia Federal ....

Exemplo 6 de uso do laço WHILE

"Programe um script em Python que calcule a média de uma turma, não importa o número de alunos que ela tenha, seu único script serve para todos os casos"

Esse é o problema que descrevemos quando falamos de laços e loopings em Python.

Primeiro, perguntamos quantos alunos tem na turma e armazenamos em "alunos".

Vamos usar uma variável de apoio, chamada 'count', ela vai de 1 até o número de alunos, ok ? Ela que é incrementada no laço while (cresce de um em um).
A soma de todos os alunos, armazenamos na variável 'soma'.

Agora vem o laço while.
O teste é se 'count' é menor que 'alunos'. Se sim, vamos pedir a nota de cada aluno, do primeiro até o aluno de número 'alunos'.

A nota que o usuário digitar, vai ser armazenada na variável 'nota'.
Em seguida, armazenamos na variável 'soma'.

E assim vai indo, de aluno em aluno...no final, temos a soma total das notas de tooodo mundo, e não importa o número de alunos na turma, seja um aluno, 10, 20 ou mil alunos, a variável 'soma' vai ter a soma da nota de todo mundo.

Quando acabar o while basta dividir essa 'soma' pelo número de alunos ('alunos') e prontinho, temos a média da turma, não importando o tamanho da turma:

alunos=int(input("Numeros de alunos na turma: "))

count=1; soma = 0.0
while count <= alunos:
    print("Nota do aluno ", count, ":")
    nota = float( input() )
    soma += nota
    count += 1

print("Media da turma: ", (soma/alunos) )

Foda, essa instrução while, não é?

Laços e Loopings - O que são? Para que servem ?

Antes de entrarmos em detalhes sobre um dos assuntos mais importantes de nosso Curso de Python, que são os laços (também conhecido por loopings) while e for, vamos tentar entender a motivação por trás deles.

Em vez de vir e jogar definições e instruções na sua cara, vou fazer entender que alguma coisa deve ser feita/estudada para que nossos conhecimentos possam fazer programas poderosos, grandes e interessantes.

Repetindo estruturas e códigos

"O professor Bruce Dickinson vai dar aula em uma faculdade, é o novo professor e ele precisa que você crie um programa que calcula a média de todos os alunos e diga a média da turma. O professor Bruce tem várias turmas, dos mais variados tamanhos. Resolva esse problema."

"Ah, moleza. Só pedir as notas de cada aluno, somar e calcular pelo tanto de alunos na turma. Até já fizemos exercício disso, Python Progressivo, esqueceu?"

Ok, vamos lá.
Vamos supor que nossa turma tenha 2 alunos.
Nosso código é

media2.py:
nota1 = float(input("Nota 1:"))
nota2 = float(input("Nota 2:"))

media = (nota1+nota2)/2

print("A media é: ", media)


Já se tiver 3 alunos, será
media3.py
nota1 = float(input("Nota 1:"))
nota2 = float(input("Nota 2:"))
nota3 = float(input("Nota 3:"))

media = (nota1+nota2+nota3)/3

print("A media é: ", media)


Se a turma tiver 50 alunos, nosso script é...
(imagine aqui um código gigante, que pede 50 notas, vá somando todas e divida tudo por 50).

Prontinho, você manda vários e vários scripts para o professor, para ele usar cada um de acordo com o número de alunos de cada turma.

Ok? Parece fazer sentido, ficou bacana?

Programação é simplificação

NÃO!!! Caramba, que ideia bizarra!

Para cada turma, usar um script diferente? Ia ter o que, uma pasta com 50 programas?

Quando quer usar duas células no Excel, você abre uma planilha.
Para usar três células, você vai abrir outra planilha? Claro que não!
Pode usar uma ou um milhão de células, pode usar a mesma planilha, o Excel não vai te fazer usar milhares de programas diferentes para trabalhar.

O mesmo vale para nosso script.
E se você for contratado para fazer o censo, vai fazer um script com 1 milhão de linhas, pedindo 1 milhão de informação diferente, de cada pessoa...vai usar milhões de variáveis num programa só?

Claro que não! Isso é impossível de se fazer manualmente!

A gente programa pra resolver problemas que seriam difíceis de se fazer na mão. A gente programa pra deixar a vida mais fácil.

E não tenha dúvidas,se estudar pelo Python Progressivo, vai fazer muitos e muitos programas úteis, uma nova rede social, um novo Google, um novo Youtube...

Progamar é encontrar padrões

O grande segredo da programação é na sua capacidade de notar padrões.
Identificar padrões é o ideal.

Vamos identificar em nosso exemplo?
Primeiro, devemos saber o número de alunos da turma.
E quem sabe isso? O Bruce. Então nosso programa vai pedir a ele esse valor x de alunos.

Em seguida, o que fazemos?
Para cada aluno, do primeiro até o de número x, vamos pedir um valor e armazenar em uma variável diferente.

Ao final de tudo, nosso script vai somar da primeira variável até a variável que contém o valor da nota do aluno de número x.

Depois simplesmente divide tudo por x. Essa é a média.

Veja o padrão: o x pode ser 1, 2, 3, 4, ..., 2112, ...1 milhão
Tanto faz. A ideia é sempre essa, sempre o mesmo roteiro (script em inglês).

Laços e Loopings em Python

Um laço, ou um looping, é algo que se repete.
Vamos estudar os laços while e for, e chamamos ele de estruturas de repetição.

No nosso exemplo, uma coisa se repete: ficar pedindo as notas.
Vamos fazer com que nossos programas fiquem presos em determinados loopings, fazendo coisas repetidas (como pedir nota), até onde desejarmos (no caso, deve se repetir x vezes).

Para nós, pedir 1 milhão de dados, usando 1 milhão de linhas de comando, é algo impossível de se fazer na mão.

Mas para os computadores não. Fazem isso em milésimos de segundos.

E o que um programador Python faz?
Manda no computador. Faz ele te obedecer. Cria programas Python que fazem de um computador seu escravo.

Assim, com poucas linhas, você vai programar scripts que fazem milhões de coisas, bilhões...quantas vezes você quiser e mandar.

Você tá ficando foda pra caramba.
Sinta o poder. É você saindo da Matrix e aprendendo a criar sua própria Matrix.

Arredondar Números em Python - Função round()

Em muitas situações como programador Python, você vai precisar arredondar números.

Afinal, por que exibir o número 1.99999 ? Você pode querer mostrar logo 2.
Ou ter que trabalhar com números inteiros (2 ao invés de 1.7)

Neste tutorial, vamos ensinar a usar a função round(), que é bem interessante para arredondar qualquer tipo de número, com a precisão que desejarmos.

Arredondando com a função round()

A utilidade mais básica da função round() é receber um número qualquer e arredondar ele. O mais lógico é arredondar um flutuante para um inteiro.

Basta colocar um número dentro dela: round( numero ) que ela devolve ele arredondado.

Vamos ver alguns exemplos:
Função round()
O código para você testar a round() é:

    numero = float(input('Numero original: '))
    print("Arredondado    :", round(numero))


Mas, por exemplo, o número 1.5 ?
Ele está igual distância de 1 como de 2, qual será o resultado se aplicarmos round(1.5) ?

A resposta é 2.
Então você deve pensar: ah ok, arredonda pra cima.

Então teste round(2.5), o resultado vai ser 3, pra cima, não é?
Errado, é 2 de novo.

"Que bruxaria é essa, Python Progressivo? Tá bugada a função round() ?"
Não!

A função round() tem uma característica especial: se o número flutuante estiver igual distância entre o inteiro de cima e o inteiro de baixo, ela arredonda pro número par mais próximo!

Veja:

Como arredondo um número em Python

Arredondar com casas decimais em Python

Colocando apenas um número dentro da round() ela arredondou e nos devolveu um inteiro.

Mas, e se quisermos arredondar pra ter um valor float?
Por exemplo, quero arredondar 1.9999 pra 2.0 ?
Ou 21.129 pra 21.13 ?

A round() faz isso!
Seu estereótipo é: round( numero, n )
Onde 'numero' é o número que você seja arredondar e 'n' é o número de casas decimais após o ponto flutuante, que deseja arredondar.

Por exemplo:
numero = 1.23456789

round(numero, 1) = 1.2
round(numero, 2) = 1.23
round(numero, 3) = 1.235
round(numero, 4) = 1.2346
round(numero, 5) = 1.23457
round(numero, 6) = 1.234568
round(numero, 7) = 1.2345679
round(numero, 8) = 1.23456789

Precisão cirúrgica, esse Python, não ?

Arredondar pra baixo e pra cima

Muitas vezes queremos sempre arredondar pra baixo, por exemplo:
1.2 -> 1
1.1 -> 1
9.9 -> 9

Outras vezes podemos querer sempre arredondar pra cima:
1.1 -> 2
1.2 -> 2
9.9 -> 10

Pra arredondar pra baixo um número num basta fazer:
round(num - 0.5)

Para arredondar pra cima:
round(num + 0.5)

Mas só funciona se for para números decimais, ok ?

Exercício Resolvido de Python

Escreva um script que peça um número ao usuário.
Em seguida, ele deve descobrir se o número é inteiro ou decimal.

Se for decimal, deve dizer o número arredondado pra cima e arredondado pra baixo.


Primeiro, vamos descobrir se é inteiro ou decimal.
Um número num vai ser inteiro quando ele for igual ao seu número arredondado: num == round(num) retorna True para um inteiro e False para um decimal.

Caso seja decimal, usamos round(num-0.5) pra arredondar pra baixo e round(num+0.5) pra arredondar pra cima.

Nosso código Python fica:

    num = float(input('Numero original: '))

    if num == round(num):
        print("Inteiro")
    else:
        print("Decimal")
        print("Arredondado pra baixo: ", round(num-0.5) )
        print("Arredondado pra cima : ", round(num+0.5) )


Par ou Ímpar em Python (e outros múltiplos)

Neste tutorial de nosso Curso de Python Online Grátis, vamos fazer um script que diz se o número digitado pelo usuário é par ou ímpar.

Vamos fazer isso usando o operador % de resto da divisão.

Resto da Divisão em Python: %

Antes de mostrar o exercício, resolver e comentar o código de como descobrir se um número é par ou ímpar em Python, precisamos revistar um tutorial antigo:

Operações matemáticas em Python

Lá estudamos o operador % que é o operador de resto da divisão.
Talvez você não lembre direito que troço é isso de resto da divisão.

Mas vamos voltar pra época da escolinha, quando fazíamos continhas de dividir:

Como saber se o número é par ou ímpar
O segredo está ali, no resto. O que sobra.
Ele é o segredo de tudo.

Para saber se um número é par ou ímpar, basta dividir ele por 2.
Se for par, o resto é sempre 0, não sobra nada.
Já se for ímpar, vai sempre ter resto 1.

Saber se é Par ou Ímpar em Python

" Faça um Programa que peça um número inteiro e determine se ele é par ou ímpar. Dica: utilize o operador módulo (resto da divisão): %"

Inicialmente pedimos um número ao usuário, e armazenamos na variável 'numero'. Agora, com um simples teste condicional IF vamos verificar o resto da divisão dele por 2.

Se o resultado for 0, é par e cai no print do IF, dizendo que é par.
Se não for 0 o resto, é porque vai ser 1 e cai no ELSE onde printamos que é ímpar:

    numero = int(input('Digite um inteiro: '))

    if (numero%2) == 0:
        print("Par")
    else:
        print("Ímpar")

Aperfeiçoando código Python

Já dissemos, em algum tutorial anterior, que 1 equivale ao True e 0 ao False.
Quando fazemos o resto da divisão por 2, o resultado é sempre 0 ou 1.

Então nosso código poderia ser assim:

    numero = int(input('Digite um inteiro: '))

    if numero%2 :
        print("Ímpar")
    else:
        print("Par")


Veja que se o resultado da operação for 1, cai no IF que diz que é ímpar,se for 0 vai pro ELSE que diz que é par.

Bem mais chique, não acha?

Resto da divisão por 3:

"Faça um programa que recebe um inteiro do usuário e diz se esse número é múltiplo de 3 ou não".

Veja o código e tente entender:

    numero = int(input('Digite um inteiro: '))

    if not (numero%3) :
        print("É múltiplo de 3")
    else:
        print("Não é múltiplo de 3")

Um número é múltiplo de 3 se o resto da divisão dele por 3 for 0.
Então fazemos o teste: numero % 3

Se este resultado for 0, o IF não é executado, pois dá falso.
Então o que fazemos? Invertemos com o operador not

Sempre que algo for TRUE o not transforma em FALSE, e vice-versa.
Assim colocamos um not antes do (numero%3) e quando for múltiplo de 3, a expressão not (numero%3) vira TRUE e cai no IF dizendo que é múltiplo de 3.

Fodástico, não ?
 

Curiosidade sobre resto da divisão %

O resto da divisão de um número por 2 pode ser:
0 ou 1

O resto da divisão de um número por 3 pode ser:
0, 1 ou 2

O resto da divisão de um número por 4 pode ser:
0, 1, 2 ou 3

O resto da divisão de um número por 5 pode ser:
0, 1, 2, 3 ou 4
...
...
...
O resto da divisão de um número por n pode ser:
0, 1, 2, 3, ..., (n-1)

Contar Cédulas de Dinheiro em um Caixa Eletrônico em Python

"Faça um Programa para um caixa eletrônico. O programa deverá perguntar ao usuário a valor do saque e depois informar quantas notas de cada valor serão fornecidas. As notas disponíveis serão as de 1, 5, 10, 50 e 100 reais. O valor mínimo é de 10 reais e o máximo de 600 reais. O programa não deve se preocupar com a quantidade de notas existentes na máquina.

    Exemplo 1: Para sacar a quantia de 256 reais, o programa fornece duas notas de 100, uma nota de 50, uma nota de 5 e uma nota de 1;
    Exemplo 2: Para sacar a quantia de 399 reais, o programa fornece três notas de 100, uma nota de 50, quatro notas de 10, uma nota de 5 e quatro notas de 1.
"

Contar Notas e Cédulas em Python

Há várias maneiras diferentes de darmos 256 reais, ou qualquer outro valor.
Poderíamos, por exemplo dar 256 cédulas de 1 real (hoje em dia só moeda, mas antes tinha cédula de 1 real sim).

Mas seria altamente inconveniente sair de um caixa eletrônico com centenas de cédulas. Ou seja, queremos usar o menor número de cédulas possíveis!

Isso é feito da seguinte maneira: dando cédulas de valor alto.

  • Notas de R$ 100,00

O primeiro passo é tentar empurrar o maior número de notas de 100 reais possível. No caso de 256 reais, só podemos dar 2 notas de 100 reais, pois se dermos mais, passa de 256.

Como fazemos isso?
Dividindo o valor que o usuário pediu pra sacar por 100.
Vamos colocar em 'numero', o valor que ele solicitou que fosse sacado.

Se fizermos:
cem = numero / 100

Teremos que cem=2.56
Não seria legal se a gente tirasse esse ponto fluante e essa parte decimal?
É fácil fazer isso, só usar a função int(), que vai transformar esse número em inteiro (ele pega a parte inteira e descarta o resto).

Assim, o número de cédulas de 100 reais é:
cem = int( numero/10 )

Se antes queríamos sacar 256 reais, agora queremos somente 56, pois já demos os 200 reais.

Vamos transformar nosso valor de 256 pra 56 da seguinte maneira:
numero = numero - (cem*100)
(numero = 256 - 2*100 = 56)

Concorda?

  • Notas de R$ 50,00

Agora vamos tentar usar o máximo possível de notas de 50 reais.
Para isso, basta dividir nosso número por 50 e pegar a parte inteira, como fizemos com as cédulas de 100:

cinquenta =int( numero/50 )

No nosso exemplo de 256 reais: cinquenta = int(56/50) = int(1.12) = 1

Agora que já usamos as de 50 reais, vamos tirar ela de nosso número:
numero = numero - (cinquenta*50)
(numero = 56 - 1.50)

  • Notas de R$ 10,00

A lógica é a mesma:

dez = int( numero/10 )
numero = numero - (dez*10)

  • Notas de R$ 5,00

cinco = int(numero/5)
numero = numero - (cinco*5)

E o que sobrou, é nota de um real:
um = numero

Nosso código Python fica?

    numero = int(input('Valor para sacar [10-600]: '))

    cem = int(numero / 100)
    numero = numero - (cem*100)
    
    cinquenta = int(numero/50)
    numero = numero - (cinquenta*50)

    dez = int(numero/10)
    numero = numero - (dez*10)

    cinco = int(numero/5)
    numero = numero - (cinco*5)

    um = numero
    
    print('Notas R$100,00 = ',cem)
    print('Notas R$ 50,00 = ',cinquenta)
    print('Notas R$ 10,00 = ',dez)
    print('Notas R$  5,00 = ',cinco)
    print('Notas R$  1,00 = ',um)


Nosso código também poderia ser:

    numero = int(input('Valor para sacar [10-600]: '))

    cem = int(numero / 100)
    numero = numero % 100
    
    cinquenta = int(numero/50)
    numero = numero % 50

    dez = int(numero/10)
    numero = numero % 10

    cinco = int(numero/5)
    numero = numero % 5

    um = numero
    
    print('Notas R$100,00 = ',cem)
    print('Notas R$ 50,00 = ',cinquenta)
    print('Notas R$ 10,00 = ',dez)
    print('Notas R$  5,00 = ',cinco)
    print('Notas R$  1,00 = ',um)

Consegue entender o motivo?

Achar Unidade, Dezena, Centena...de um número em Python

Nesse exercício que iremos resolver e comentar o código, vamos aprender a usar o operador %, também conhecido por "resto da divisão", em nossa Apostila de Python Online.

Exercício:
"Faça um Programa que leia um número inteiro menor que 1000 e imprima a quantidade de centenas, dezenas e unidades do mesmo.

Exemplo:
123 = 1 centena(s), 2 dezena(s) e 3 unidade(s)
12 = 1 dezena(s) e 2 unidade(s)
Testar com: 326, 300, 100, 320, 310,305, 301, 101, 311, 111, 25, 20, 10, 21, 11, 1, 7 e 16"

Resto da Divisão em Python

Para sabermos o valor da unidade de um número inteiro positivo qualquer, em Python, basta usar o operador de resto da divisão % da seguinte maneira:

unidade = numero % 10

Pronto. Só isso.
Se nosso número é 123 e fizermos 123 % 10, o resultado vai ser 3.
Então 3 é nossa unidade.

E como achar a dezena?

O próximo passo é transformar nosso número de 123 pra 12 (excluímos a unidade).
Primeiro, subtraímos do número o valor da unidade.
123 - 3 = 120

Depois, dividimos o número por 10:
120 / 10 = 12

Prontinho, pra achar a dezena basta fazer: 12 % 10 = 2

Em programação Python, fica assim:
numero = (numero - unidade) / 10 # Passa de 123 pra 123-3 = 120 / 10 = 12
dezena = numero % 10                 # dezena = 12 % 10 = 2

E pra achar o valor da centena?
De novo, transformamos de 12 pra 1 (excluímos 2).

Subtraímos a dezena achada: 12 - 2= 10
E novamente dividimos por 10: 10/10 = 1

Em programação Python:
numero = (numero - dezena)/10
centena = numero

No caso, paramos por aí. Por só queremos achar até a centena.
Nesse ponto, nosso número vai ser o mesmo valor da centena.

Se quiser para números maiores, só seguir essa lógica.

Código comentado em Python

    numero = int(input('Digite um numero inteiro positivo: '))

    # Extraindo a unidade
    unidade = numero % 10

    # Eliminando a unidade de nosso número
    numero = (numero - unidade)/10

    # Extraindo a dezena
    dezena = numero % 10

    # Eliminando a dezena do número original, fica a centena
    numero = (numero - dezena)/10
    centena = numero

    # Fazendo ser inteiros
    dezena = int(dezena)
    centena = int(centena)
    print(centena,'centena(s),',dezena,'dezena(s) e',unidade,'unidade(s)')


Determinar se uma data é válida ou não em Python

"Faça um Programa que peça uma data no formato dd/mm/aaaa e determine se a mesma é uma data válida."

Saber se uma data é válida ou inválida em Python

Vamos armazenar os dados nas variáveis 'dia', 'mes' e 'ano'.

Para armazenar o valor lógico verdadeiro ou falso, vamos usar a variável booleana 'valido'. Inicialmente fazer ela ser falsa:
valido = False

O grande segredo nesse algoritmo é o mês.

Primeiro vamos testar se o mês digitado tem 31 dias.
São os meses 1, 3, 5, 7, 8, 10 ou mês 12.
Se tiver digitado um desses valores para 'mes', vamos verificar a variável 'dia' é menor ou igual a 31. Se for, a data é válida e fazemos 'valida = True'
Se não for, continua sendo False

Agora vamos testar os meses que tem 30 dias.
Eles são os meses 4, 6, 9 e o mês 11.
Nesses meses, temos que avaliar se a variável 'dia' tem um número menor ou igual a 30. Se sim, fazemos 'valida = True'.

Por fim, vamos avaliar o mês mais problemático, o mês 2, fevereiro.
Inicialmente, é preciso verificar se é ano bissexto, se for bissexto a variável 'dia' deve ser testada para saber se o valor digitado é 29 ou menos. Se sim, validamos a data com 'valida = True'

Se não for ano bissexto, testamos a variável 'dia' para saber se o valor digitado foi 28 ou menos. Se for, 'valida = True'

Caso não tenham digitado um número de 1 até 12 em mês, a variável 'valida' continua tendo valor False, pois não caiu em nenhum IF ou ELIF.

Por fim, testamos a variável booleana 'valida'. Se for True, dizemos que a data é válida, se tiver o valor lógico False nela, dizemos que é inválida:

    dia = int( input('Dia: ') )
    mes = int( input('Mês: ') )
    ano = int( input('Ano: ') )

    valida = False
    
    # Meses com 31 dias
    if( mes==1 or mes==3 or mes==5 or mes==7 or \
        mes==8 or mes==10 or mes==12):
        if(dia<=31):
            valida = True
    # Meses com 30 dias
    elif( mes==4 or mes==6 or mes==9 or mes==11):
        if(dia<=30):
            valida = True
    elif mes==2:
        # Testa se é bissexto
        if (ano%4==0 and ano%400!=0) or (ano%400==0):
            if(dia<=29):
                valida = True
        elif(dia<=28):
                valida = True

    if(valida):
        print('Data válida')
    else:
        print('Inválida')

Ano Bissexto em Python

" Faça um Programa que peça um número correspondente a um determinado ano e em seguida informe se este ano é ou não bissexto."

Achar ano bissexto pelo Python

Ano bissexto é aquele que possui 366 dias, ou seja, 1 dia a mais que os anos normais de 365 dias.

Anos bissextos são aqueles que são múltiplos de 4, como 1996, 2000, 2004 etc (que podem ser divididos por 4 deixando resto 0).

Porém, há uma exceção: múltiplos de 100 que não sejam múltiplos de 400.

Uma das duas condições a seguir deve ser verdadeira
1. Ser múltiplo de 4 e não ser múltiplo de 100
2. Ser múltiplo de 400 (se for múltiplo de 400 automaticamente é de 4)

Condição 1:
ano % 4 ==0 and ano%100 != 0

Condição 2:
ano $ 400 == 0

Logo, temos o código:


ano = int(input('Ano: '))

if (ano%4==0 and ano%400!=0) or (ano%400==0):
    print('Bissexto')
else:
    print('Não é bissexto')

Programa que acha raízes de uma equação do segundo grau em Python

"
Faça um programa que calcule as raízes de uma equação do segundo grau, na forma ax² + bx + c. O programa deverá pedir os valores de a, b e c e fazer as consistências, informando ao usuário nas seguintes situações:

  1. Se o usuário informar o valor de A igual a zero, a equação não é do segundo grau e o programa não deve fazer pedir os demais valores, sendo encerrado;
  2. Se o delta calculado for negativo, a equação não possui raizes reais. Informe ao usuário e encerre o programa;
  3. Se o delta calculado for igual a zero a equação possui apenas uma raiz real; informe-a ao usuário;
  4. Se o delta for positivo, a equação possui duas raiz reais; informe-as ao usuário;
PS: digite 'import math' no início de seu script. Para achar a raiz quadrada da variável x, faça: math.sqrt(x)
"

Equação do segundo grau em Python

Antes de mais nada, vamos relembrar a fórmula de Bháskara para achar as raízes de uma equação do segundo grau, do tipo: ax² + bx + c = 0 :
Fórmula de Bháskara em Python
O primeiro teste que fazemos é em relação ao coeficiente a. Se for 0, não é uma equação do segundo grau e acaba o programa.

Se for diferente de 0, cai no else, que é onde todo nosso programa vai funcionar. Primeiro, dentro do else, pedimos o valor dos coeficientes b e c.

Agora, vamos calcular o delta.
Em Python, fica assim: delta = b*b - (4*a*c)

Agora vamos testar o delta, dentro de um if aninhado no else anterior.
Se for menor que 0, encerramos o programa dizendo que as raízes são imaginárias.

Em seguida, usamos um elif para testar se delta for 0, se sim valor da raiz será:raiz = -b / (2*a)

Por fim, se não é menor que 0 e o delta não é 0, é porque vai ser sempre maior que 0. Essa condição cai no else aninhado, onde calculamos as raízes assim:
raiz1 = (-b + math.sqrt(delta) ) / (2*a)
raiz2 = (-b  - math.sqrt(delta) ) / (2*a)

Nosso código ficou:

    import math
    
    print('Equaçao do 2o grau da forma: ax² + bx + c')
    
    a = int( input('Coeficiente a: ') )

    if(a==0):
        print('Se a=0, não é equação do segundo grau. Tchau')
    else:
        b = int( input('Coeficiente b: ') )
        c = int( input('Coeficiente c: ') )
        delta = b*b - (4*a*c)

        if delta<0:
            print('Delta menor que 0. Raízes imaginárias. Tchau')
        elif delta==0:
            raiz = -b / (2*a)
            print('Delta=0 , raiz = ',raiz)
        else:
            raiz1 = (-b + math.sqrt(delta) ) / (2*a)
            raiz2 = (-b - math.sqrt(delta) ) / (2*a)
            print('Raizes: ',raiz1,' e ',raiz2)

Curso de Python - Triângulo Equilatero, Isósceles e Escaleno

"
Faça um Programa que peça os 3 lados de um triângulo. O programa deverá informar se os valores podem ser um triângulo. Indique, caso os lados formem um triângulo, se o mesmo é: equilátero, isósceles ou escaleno.

  • Sabemos que:
  • Três lados formam um triângulo quando a soma de quaisquer dois lados for maior que o terceiro;
  • Triângulo Equilátero: três lados iguais;
  • Triângulo Isósceles: quaisquer dois lados iguais;
  • Triângulo Escaleno: três lados diferentes;
"

Código comentado - Curso de Python
Vamos receber os três lados do triângulo e armazenar nas variáveis a, b e c.

O primeiro teste que fazemos é para saber se a soma de quaisquer dois lados é menor que o terceiro lado. Se for, esses três valores não formam um triângulo e acabou o programa aí, precisa nem testar se é equilátero, isósceles e escaleno.

Se a soma de dois lados quaisquer for maior que o terceiro lado, ok, é triângulo e vamos pro elif.

Agora, vamos testar se é equilátero, para isso comparamos o lado a com o b e depois o lado a com o lado c.

Note que não precisamos comparar os lados b e c, pois se a é igual a b E TAMBÉM (operador lógico and) a é igual a c, então o lado b vai ser automaticamente igual ao lado c.
Se forem todos iguais, diz que é equilátero e acabou aí.

Se não for equilátero, cai no próximo elif.
Lá vamos testar se ele tem dois lados iguais: a==b ou a==c ou b==c (notem o OU, que é o operador lógico or).
Se alguma dessas comparações retornar verdadeiro, o triângulo é isósceles e acaba aí.

Porém, se não for isósceles, cai no else final.
Pois se não é equilátero nem isósceles, e é um triângulo, tem de ser escaleno.

    a = float(input('Primeiro lado: '))
    b = float(input('Segundo  lado: '))
    c = float(input('Terceiro lado: '))
    
    # Testando se é triângulo
    if (a + b < c) or (a + c < b) or (b + c < a):
        print('Nao é um triangulo')
    elif (a == b) and (a == c) :
        print('Equilatero')
    elif (a==b) or (a==c) or (b==c):
        print('Isósceles')
    else:
        print('Escaleno')

Python - Programa que calcula salário e aumento em porcentagem

"
As Organizações Tabajara resolveram dar um aumento de salário aos seus colaboradores e lhe contrataram para desenvolver o programa que calculará os reajustes.

  • Faça um programa que recebe o salário de um colaborador e o reajuste segundo o seguinte critério, baseado no salário atual:
  • salários até R$ 280,00 (incluindo) : aumento de 20%
  • salários entre R$ 280,00 e R$ 700,00 : aumento de 15%
  • salários entre R$ 700,00 e R$ 1500,00 : aumento de 10%
  • salários de R$ 1500,00 em diante : aumento de 5% Após o aumento ser realizado, informe na tela:
  • o salário antes do reajuste;
  • o percentual de aumento aplicado;
  • o valor do aumento;
  • o novo salário, após o aumento."

Código comentado em Python

Vamos armazenar o salário na variável 'salario' (que original, hein?)
Teremos outras variáveis no decorrer do programa:
  • percentual - percentual de aumento aplicado
  • aumento - valor em R$ do aumento aplicado
  • salario_novo - novo valor do salário, reajustado pelo aumento
A única coisa que muda, de acordo com o salário fornecido pelo usuário, é o percentual do aumento.

Vamos fazer uma série de testes IF ELIF ELSE pra descobrir qual percentual correto aplicar.
 
Se for menor ou igual a R$ 280,00 , percentual será 20%
Se não for, vamos testar para ver se é menor ou igual a R$ 700,00 - se for, o percentual será de 15%.

Se também não for menor R$ 700,00, vamos testar para ver se é menor igual a R$ 1500,00 - se sim, 'percentual' recebe 10 (%). 

Se também não for menor que R$ 1500,00 é porque é maior então aplicamos 5%.

Para saber o valor do aumento em R$, primeiro pegamos a variável  'percentual' e dividimos por 100.0 (usamos decimal pra mostrar ao Python que essa variável deve ser tratada como um float):
percentual = percentual / 100.0

(essa linha quer dizer: o novo valor de 'percentual' é o valor antigo dela dividido por 100).

Agora multiplicamos 'percentual' por 'salario' e temos o aumento do salário em R$.

Basta somar esse valor ao salário original, que temos o novo salário:

    salario = float(input('Salário do colaborador: '))

    if (salario <= 280):
        percentual = 20
    elif (salario <= 700):
        percentual = 15
    elif (salario <= 1500):
        percentual = 10
    else:
        percentual = 5

    print('Salario original: R$ ', salario)
    print('Percentual: ',percentual,'%')

    percentual = percentual/100.0
    aumento = percentual * salario
    novo_salario = salario + aumento
    
    print('Aumento: R$ ',aumento)
    print('Novo salário: R$ ', novo_salario)
 

Python - Trocando o valor de duas variáveis

"Faça um programa que pede dois inteiro e armazene em duas variáveis. Em seguida, troque o valor das variáveis e exiba na tela"

Temos duas variáveis: var1 e var2

Vamos fazer com que var2 receba o valor de var1:
var2 = var1

Agora vamos fazer com que var1 receba o valor de var2...epa!
Vai dar erro, pois eu MUDEI o valor de var2 no comando anterior!
O valor originalmente em var2 foi perdido quando fiz essa variável mudar de valor.

E agora, José?
Calma, você faz o Curso Python Progressivo, e vai aprender a resolver isso.
O segredo é: usar uma variável auxiliar, a aux

A função dar aux é guardar aquele primeiro valor contido em var2.
Então, a troca de valores se dá assim:

aux = var2
var2 = var1
var1 = aux

Faz sentido pra você?
Reflita e veja se entender perfeitamente, pois esse algoritmo de troca é MUITO importante!


    var1 = int(input('Primeiro numero: '))
    var2  = int(input('Segundo numero : '))

    print('Variavel 1: ',var1)
    print('Variavel 2: ',var2)
    print('Invertendo...')

    aux  = var2
    var2 = var1
    var1 = aux
    
    print('Variavel 1: ',var1)
    print('Variavel 2: ',var2)