👋 Olá, Seja Bem-vindo(a) ao 'Python Game'.
Introdução e Instalação do Python 3
- Introdução
- Instalando o Python no Windows
- Instalando em outras plataformas
- Usar o Python sem instalá-lo
- Função print e variáveis
- Imprimindo uma mensagem na tela
- Personalizando a saída
- Imprimindo datas
- Tipagem do Python
- Qual o tipo da variável?
- Tipagem de variáveis
- Para saber mais: Snake_Case
Lidando com a entrada do usuário
- Instalando e conhecendo o PyCharm
- Mão na massa: Primeiro projeto com PyCharm
- Comparando variáveis
- Impossível acertar o número
- Onde foi que ela errou?
- Comparação estranha
- O resultado da soma é...
- E o resultado agora?
- Diferenças entre o Python 2 e o Python 3
- Python 2 vs Python 3 - #1
- Python 2 vs Python 3 - #2
- Para saber mais: JavaScript vs Python
- Arquivos do projeto atual
Testando valores
- A condição elif
- Faixa Etária
- Faixa Etária - Variáveis
- If..else. e nada funciona!
- Mão na massa: Dando dicas
- Qual é o tipo?
- Para saber mais: if sem ou com parênteses?
- Arquivos do projeto atual
A sequência do jogo
- O laço com while
- Resultado do programa
- if e while
- Formatação de strings
- Testando formatação
- Mão na massa: Usando while
- Arquivos do projeto atual
Iterando de maneira diferente
- O laço com for
- De while para for
- De while para for #2
- Encerrando a interação e o loop
- break e continue
- while com break
- for com continue
- Mão na massa: Usando for
- Para saber mais: Formatação de strings
- Adaptando o Padrão Americano
- O resultado da interpolação
- Interpolação - Python 2 vs Python 3
- Arquivos do projeto atual
Gerando números aleatórios
- Gerando e arredondando um número aleatório
- Importar módulo
- Definindo um intervalo para a geração de números aleatórios
- O menor e o maior
- Múltiplos aleatórios
- O grande sorteio
- Mão na massa: Número secreto aleátorio
- Para saber mais: Pseudo-Random
- Arquivos do projeto atual
Nível e Pontuação
- Adicionando níveis ao jogo
- Definindo uma pontuação para o usuário
- Funções built-in
- Dividindo pontos
- Mão na massa: Níveis e Pontuação
- Para saber mais: arredondar no Python 2 e no Python 3
- Para saber mais: Divisão de float e integer
- Arquivos do projeto atual
Organizando ainda melhor o nosso código
- Importando arquivos dentro de outros
- Criando funções para os nossos jogos
- Declarando funções
- Importação de módulo
- Importação de módulo, mas um pouco diferente
- Diferenciando um arquivo executado de um importado
- Um módulo pode se chamar automaticamente?
- Mão na massa: Modularizando o jogo
- Download do jogo
- Arquivos do projeto atual
Comparando Python com C
- Python vs C
- Interpretado vs Compilado
- Python é interpretado ou compilado?
- Download e considerações finais
Preparando o jogo da forca
- Introdução
- Se você veio do Python 2...
- Ajustando a infraestrutura
- Arquivos do curso e IDE utilizada
- Game Loop
- Quantos erros tem...
- Tipo Booleano
- Para saber mais: built-in
- Mãos na massa
- Arquivos do projeto atual
Manipulando strings
- Encontrando letras
- Buscando um caracter em uma string
- Iterando em uma palavra
- Recordando...
- Funções importantes da String
- Grandes poderes trazem grandes responsabilidades
- Mãos na massa
- Para saber mais: Alterações com strings
- Arquivos do projeto atual
Conhecendo e trabalhando com listas
- Estrutura de dados: List
- Sistema para as frutas
- Um bom jeito de economizar
- Contando os funcionários
- Um falso campeão
- Guardando as letras acertadas
- Mãos na massa
- Para Saber Mais: Outros recursos com a lista
- Arquivos do projeto atual
Conhecendo e trabalhando com tuplas
- O que são tuplas?
- Tipos considerados sequências
- Funções importantes
- Diferenças entre sequências
- Sequência imutável
- Listas e tuplas juntas
- Ajuda na conversão
- Exemplos de sequências
- Para saber mais: Set
- Para saber mais: Dictionary
- Arquivos do projeto atual
Implementando o encerramento do jogo
- Estipulando tentativas de erros
- Calculando o total de caracteres em um loop
- Saindo do loop
- Forca com teste de erros alternativo
- Opcional: quantas tentativas faltam?
- Para saber mais: outra maneira de sair do loop
- Compreensão de lista
- Loop relativo à List Comprehension
- Preenchendo uma lista com os quadrados de números inteiros
- Para saber mais: inicializando uma lista de números pares
- Mãos na massa: encerrando o jogo
- Arquivos do projeto atual
Escrita e leitura de arquivos
- Escrevendo em um arquivo
- A função open
- Os modificadores de acesso
- Uma boa prática com arquivos
- Lendo um arquivo
- Lendo a primeira linha
- Lendo um arquivo por completo
- Escolhendo uma palavra
- Para saber mais: with
- Mãos na massa: Palavras aleatórias no jogo
- Arquivos do projeto atual
Melhorando o código e a apresentação
- Organizando o código em funções
- Sobre funções
- Criando mais funções
- Sintaxe das funções
- Melhorando a apresentação da forca
- Boas práticas de código
- Mãos na Massa: Exportando o código para funções
- Mãos na Massa: Melhorando a apresentação do jogo
- Para saber mais: Parâmetros opcionais e nomeados
- Considerações finais
- Download e considerações finais
- Próximos passos
Para executar um script python, faça conforme o exemplo abaixo:
docker-compose run --rm app python aulas/01.py
Para abri o terminal interativo do Python:
docker-compose run --rm app python
Ao se criar migrações, adicionar libs ou qualquer outro comando que crie arquivos dentro do contâiner Docker o proprietário para edição se torna o contâiner, sendo assim você precisará rodar o comando abaixo para alterar essas permissões e você poder editar:
sudo chown -R $USER:$USER .
- 🛠 Modo Desenvolvimento Docker
- 💻 Linux Ubuntu LTS
- 🐳 Docker Deve estar instalado.
- 🐳 Docker Compose Deve estar instalado.
- 💡 Dica: Documentação do Docker
Após instalar o docker e docker-compose, estando na pasta raiz do projeto, execute:
docker-compose up
Para se certificar que os seus containers subiram corretamente, todos os containers deve estar com o status UP
, execute:
docker-compose ps -a
Para acessar o container da aplicação, execute:
docker-compose run --rm app bash
Para derrubar e subir a instância do docker novamente, execute:
docker-compose down && docker-compose up
1° Conteinerização de scripts em Python