Giter Club home page Giter Club logo

curso-em-video-python's Introduction

cursoemvideo-logo

Curso em Vídeo de Python

python-1

Sobre o Python

Python é uma linguagem de programação criada por Guido van Rossum em 1991. Os objetivos do projeto da linguagem eram: produtividade e legibilidade. Em outras palavras, Python é uma linguagem que foi criada para produzir código bom e fácil de manter de maneira rápida. Entre as características da linguagem que ressaltam esses objetivos estão:

  • baixo uso de caracteres especiais, o que torna a linguagem muito parecida com pseudo-código executável;
  • o uso de identação para marcar blocos;
  • quase nenhum uso de palavras-chave voltadas para a compilação;
  • coletor de lixo para gerenciar automaticamente o uso da memória;
  • etc.

Conteúdo do curso em vídeo de Python (até o mundo 3)

  • Tipos primitivos e saídas de dados
  • Operadores aritméticos
  • Usando módulos
  • Manipulando texto
  • Condições
  • Cores no terminal
  • Condições aninhadas
  • Estrutura de repetição for
  • Estrutura de repetição while
  • Interrompendo repetições while
  • Tuplas
  • Listas
  • Dicionários
  • Funções
  • Modularização
  • Tratamento de erros e exceções

Exercícios

São 115 exercícios que abordam todos os tópicos citados acima.

Passos Iniciais

  1. Crie um programa que escreva “Olá, Mundo!” na tela.
  2. Faça um programa que leia o nome da pessoa e mostre uma mensagem de boas-vindas.

Tipos Primitivos e Saída de Dados

  1. Crie um programa que leia dois números e mostre a soma entre eles.
  2. Faça um programa que leia algo pelo teclado e mostre na tela seu tipo primitivo e todas as informações possíveis sobre ele.

Operadores Aritméticos

  1. Faça um programa que leia um número inteiro e mostre na tela o seu sucessor e seu antecessor.
  2. Crie um algoritmo que leia um número e mostre o seu dobro, triplo e raiz quadrada.
  3. Desenvolva um programa que leia as duas notas de um aluno, calcule e mostre a sua média.
  4. Escreva um programa que leia um valor em metros e o exiba convertido em centímetros e milímetros.
  5. Faça um programa que leia um número inteiro qualquer e mostre na tela sua tabuada.
  6. Crie um programa que leia quanto dinheiro uma pessoa tem na carteira e mostre quantos dólares ela pode comprar.
  7. Escreva um programa que leia a altura e a largura de uma parede em metros, calcule sua área e a quantidade de tinta necessária para pintá-la, sabendo que cada litro de tinta, pinta uma área de 2m².
  8. Faça um algoritmo que leia o preço de um produto e mostre seu novo preço, com 5 % de desconto.
  9. Faça um programa que leia o salário de um funcionário e mostre seu novo salário, com 15 % de aumento.
  10. Escreva um programa que converta uma temperatura digitada em ºC para ºF.
  11. Escreva um programa que pergunte a quantidade de Km percorrida por um carro alugado e a quantidade de dias pelos quais ele foi alugado. Calcule o preço a pagar, sabendo que o carro custo R$ 60 por dia e R$ 0,15 por Km rodado.

Utilizando Módulos

  1. Crie um programa que leia um número real qualquer no teclado e mostre na tela a sua porção inteira.
    Ex: Digite um número: 6.127
    O número 6.127 tem a parte inteira 6.
  2. Faça um programa que leia o comprimento do cateto oposto e do cateto adjacente de um triângulo retângulo, calcule e mostre o comprimento da hipotenusa.
  3. Faça um programa que leia um ângulo qualquer e mostre o valor do seno, cosseno e a tangente desse ângulo.
  4. Um professor quer sortear um dos quatro alunos para apagar o quadro. Faça um programa que ajude ele, lendo o nome deles e escrevendo o nome do escolhido.
  5. O mesmo professor do desafio anterior quer sortear a ordem de apresentação de trabalho dos alunos. Faça um programa que leia o nome dos quatro alunos e mostre a ordem sorteada.
  6. Faça um programa em Python que abra e reproduza o áudio de um arquivo MP3.

Manipulando Texto

  1. Crie um programa que leia o nome completo de pessoa e mostre:
    • O nome com todas as letras maiúsculas e minúsculas.
    • Quantas letras ao todo (sem considerar espaços)
    • Quantas letras tem o primeiro nome
  2. Faça um programa que leia um número de 0 a 9999 e mostre na tela cada um dos seus dígitos separados.
    Ex:
    Digite um número: 1834
    Unidade: 4
    dezena: 3
    centena: 8
    milhar: 1

  3. Crie um programa que leia o nome de uma cidade e diga se ela começa ou não com o nome “SANTO”.
  4. Crie um programa que leia o nome de uma pessoa e diga se ela tem “SILVA” no nome.
  5. Faça um programa que leia uma frase pelo teclado e mostre:
    • Quantas vezes aparece a letra “A”
    • Em que posição ela aparece a primeira vez
    • Em que posição ela aprece a última vez
  6. Faça um programa que leia o nome completo de uma pessoa, mostrando em seguida o primeiro e o último nome separadamente.
    Ex: Ana Maria de Sousa
    Primeiro = Ana
    Último = Souza

Condições – Parte 1

  1. Escreva um programa que faça o computador pensar em um número inteiro entre 0 e 5 e peça para o usuário tentar descobrir qual foi o número escolhido pelo computador. O programa deverá escrever na tela se o usuário venceu ou perdeu.
  2. Escreva um programa que leia a velocidade de um carro. Se ele ultrapassar 80 Km/h, mostre uma mensagem dizendo que ele foi multado. A multa vai custar R$ 7,00 para cada Km acima do limite.
  3. Crie um programa que leia um número inteiro e mostre na tela se ele é PAR ou ÍMPAR.
  4. Desenvolva um programa que pergunte a distância de uma viagem em Km. Calcule o preço da passagem cobrando R$ 0,50 por Km para viagens de até 200Km e R$ 0,45 para viagens mais longas.
  5. Faça um programa que leia um ano qualquer e mostre se ele é bissexto.
  6. Faça um programa que leia três números e mostre qual é o maior e qual é o menor.
  7. Escreva um programa que pergunte o salário de um funcionário e calcule o valor do seu aumento. Para salários superiores a R$ 1.250,00, calcule um aumento de 10%. Para inferiores ou iguais, o aumento é de 15%.
  8. Desenvolva um programa que leia o comprimento de três retas e diga ao usuário se elas podem ou não formar um triângulo.

Condições Aninhadas

  1. Escreva um programa para aprovar o empréstimo bancário para a compra de uma casa. Pergunte o valor da casa, o salário do comprador e em quantos anos ele vai pagar. A prestação mensal, não pode exceder 30% do salário ou então o empréstimo será negado.
  2. Escreva um programa que leia um número inteiro e peça para o usuário escolher qual será a base de conversão:
    • 1 para binário
    • 2 para octal
    • 3 para hexadecimal
  3. Escreva um programa que leia dois números inteiros e compare-os, mostrando na tela uma mensagem:
    • O primeiro valor é maior
    • O segundo valor é maior
    • Não existe valor maior, os dois são iguais
  4. Faça um programa que leia o ano de nascimento de um jovem e informe, de acordo com sua idade, se ele ainda vai e alistar ao serviço militar, se é a hora de alistar ou se já passou do tempo do alistamento. Seu programa também deverá mostrar o tempo que falta ou que passou do prazo.
  5. Crie um programa que leia duas notas de um aluno e calcule sua média, mostrando uma mensagem final, de acordo com a média atingida:
    • Média abaixo de 5,0: REPROVADO
    • Média entre 5,0 e 6,9: RECUPERAÇÃO
    • Média 7,0 ou superior: APROVADO
  6. A confederação Nacional de Natação precisa de um programa que leia o ano de nascimento de um atleta e mostre sua categoria, de acordo com sua idade:
    • Até 9 anos: MIRIM
    • Até 14 anos: INFANTIL
    • Até 19 anos: JUNIOR
    • Até 25 anos: SÊNIOR
    • Acima: MASTER
  7. Refaça o desafio 35 dos triângulos, acrescentando o recurso de mostrar que tipo de triângulo será formado:
    EQUILÁTERO: todos os lados iguais
    ISÓCELES: dois lados iguais
    ESCALENO: todos os lados diferentes
  8. Desenvolva uma lógica que leia o peso e a altura de uma pessoa, calcule seu IMC e mostre seu status, de acordo com a tabela abaixo:
    • Abaixo de 18,5: Abaixo do peso
    • Entre 18,5 e 25: Peso ideal
    • 25 até 30: Sobrepeso
    • 30 até 40: Obesidade
    • Acima de 40: Obesidade mórbida
  9. Elabore um programa que calcule o valor a ser pago por um produto, considerando o seu preço normal e condição de pagamento:
    À vista dinheiro/cheque: 10% de desconto
    À vista no cartão: 5% de desconto
    Em até 2x no cartão: preço normal
    3x ou mais no cartão: 20% de juros
  10. Crie um programa que faça o computador jogar jokenpô com você.

Estrutura de repetição for

  1. Faça um programa que mostre na tela uma contagem regressiva para estouro de fogos de artifícios, indo de 10 até 0, com uma pausa de 1 segundo entre eles.
  2. Crie um programa que mostre na tela todos os números pares que estão no intervalo entre 1 e 50.
  3. Faça um programa que calcule a soma entre todos os números ímpares que são múltiplos de três e que se encontram no intervalo de 1 até 500.
  4. Refaça o desafio 9, mostrando a tabuada de um número que o usuário escolher, só que agora utilizando um laço for.
  5. Desenvolva um programa que leia seis números inteiros e mostre a soma apenas daqueles que forem pares. Se o valor digitado for ímpar, desconsidere-o.
  6. Desenvolva um programa que leia o primeiro termo e a razão de uma PA. No final, mostre os 10 primeiros termos desta progressão.
  7. Faça um programa que leia um número inteiro e diga se ele é ou não um número primo.
  8. Crie um programa que leia uma frase qualquer e diga se ela é um palíndromo, desconsiderando os espaços. Ex:
    APOS A SOPA
    A SACADA DA CASA
    A TORRE DA DERROTA
    O LOBO AMA O BOLO
    ANOTARAM A DATA DA MARATONA

  9. Crie um programa que leia o ano de nascimento de sete pessoas. No final, mostre quantas pessoas ainda não atingiram a maioridade e quantas já são maiores.
  10. Faça um programa que leia o peso de cinco pessoas. No final, mostre qual foi o maior e o menor peso lidos.
  11. Desenvolva um programa que leia nome, idade e sexo de 4 pessoas. No final do programa mostre:
    • A média de idade do grupo.
    • Qual é o nome do homem mais velho
    • Quantas mulheres têm menos de 20 anos

Estrutura de repetição while

  1. Faça um programa que leia sexo de uma pessoa, mas só aceite os valores ‘M’ ou ‘F’. Caso esteja errado, peça a digitação novamente até ter um valor correto.
  2. Melhore o jogo do DESAFIO 28 onde o computador vai “pensar” em um número entre 0 e 10. Só que agora o jogador vai tentar adivinhar até acertar, mostrando no final quantos palpites foram necessários para vencer.
  3. Crie um programa que leia dois valores e mostre um menu como o ao lado: Seu programa deverá realizar a operação solicitada em cada casa.
    [1] Somar
    [2] Multiplicar
    [3] Maior
    [4] Novos números
    [5] Sair do programa
  4. Faça um programa que leia um número qualquer e mostre seu fatorial.
  5. Refaça o desafio 51, lendo o primeiro termo e a razão de uma PA, mostrando os 10 primeiros termos da progressão usando a estrutura while.
  6. Refaça o desafio 61, perguntando para o usuário se ele quer mostrar mais alguns termos. O programa encerra quando o usuário disser que quer mostrar 0 termos.
  7. Escreva um programa que leia um número n interno qualquer e mostre na tela os n primeiros elementos de uma Sequência de Fibonacci.
  8. Crie um programa que leia vários números inteiros pelo teclado. O programa só vai parar quando o usuário digitar o valor 999, que é a condição de parada. No final, mostre quantos números foram digitados e qual foi a soma entre eles (desconsiderando o flag).
  9. Crie um programa que leia vários números inteiros pelo teclado. No final da execução, mostre a média entre todos os valores e qual foi o maior e o menor valor lido. O programa deve perguntar ao usuário se ele quer ou não continuar a digitar valores.

Interrompendo repetições while

  1. Crie um programa que leia números inteiros pelo teclado. O programa só vai parar quando o usuário digitar o valor 999, que é a condição de parada. No final, mostre quantos números foram digitados e qual foi a soma entre elas (desconsiderando o flag).
  2. Faça um programa que mostre a tabuada de vários números, um de cada vez, para cada valor digitado pelo usuário. O programa será interrompido quando o número solicitado for negativo.
  3. Faça um programa que jogue par ou ímpar com o computador. O jogo só será interrompido quando o jogador perder, mostrando o total de vitórias consecutivas que ele conquistou no final do jogo.
  4. Crie um programa que leia a idade e o sexo de várias pessoas. A cada pessoa cadastrada, o programa deverá perguntar se o usuário quer ou não continuar. No final, mostre:
    A) quantas pessoas tem mais de 18 anos.
    B) quantos homens foram cadastrados.
    C) quantas mulheres tem menos de 20 anos.
  5. Crie um programa que leia o nome e o preço de vários produtos. O programa deverá perguntar se o usuário vai continuar ou não. No final, mostre:
    A) qual é o total gasto na compra.
    B) quantos produtos custam mais de R$1000.
    C) qual é o nome do produto mais barato.
  6. Crie um programa que simule o funcionamento de um caixa eletrônico. No início, pergunte ao usuário qual será o valor a ser sacado (número inteiro) e o programa vai informar quantas cédulas de cada valor serão entregues.
    OBS: considere que o caixa possui cédulas de R$50, R$20, R$10 e R$1.

Tuplas

  1. Crie um programa que tenha uma tupla totalmente preenchida com uma contagem por extenso, de zero até vinte. Seu programa deverá ler um número pelo teclado (entre 0 e 20) e mostrá-lo por extenso.
  2. Crie uma tupla preenchida com os 20 primeiros colocados da Tabela do Campeonato Brasileiro de Futebol, na ordem de colocação. Depois mostre:
    a) Os 5 primeiros times.
    b) Os últimos 4 colocados.
    c) Times em ordem alfabética.
    d) Em que posição está o time da Chapecoense.
  3. Crie um programa que vai gerar cinco números aleatórios e colocar em uma tupla. Depois disso, mostre a listagem de números gerados e também indique o menor e o maior valor que estão na tupla.
  4. Desenvolva um programa que leia quatro valores pelo teclado e guarde-os em uma tupla. No final, mostre:
    A) Quantas vezes apareceu o valor 9.
    B) Em que posição foi digitado o primeiro valor 3.
    C) Quais foram os números pares.
  5. Crie um programa que tenha uma tupla única com nomes de produtos e seus respectivos preços, na sequência. No final, mostre uma listagem de preços, organizando os dados em forma tabular.
  6. Crie um programa que tenha uma tupla com várias palavras (não usar acentos). Depois disso, você deve mostrar, para cada palavra, quais são as suas vogais.

Listas – Parte 1

  1. Faça um programa que leia 5 valores numéricos e guarde-os em uma lista. No final, mostre qual foi o maior e o menor valor digitado e as suas respectivas posições na lista.
  2. Crie um programa onde o usuário possa digitar vários valores numéricos e cadastre-os em uma lista. Caso o número já exista lá dentro, ele não será adicionado. No final, serão exibidos todos os valores únicos digitados, em ordem crescente.
  3. Crie um programa onde o usuário possa digitar cinco valores numéricos e cadastre-os em uma lista, já na posição correta de inserção (sem usar o sort()). No final, mostre a lista ordenada na tela.
  4. Crie um programa que vai ler vários números e colocar em uma lista. Depois disso, mostre:
    A) Quantos números foram digitados.
    B) A lista de valores, ordenada de forma decrescente.
    C) Se o valor 5 foi digitado e está ou não na lista.
  5. Crie um programa que vai ler vários números e colocar em uma lista. Depois disso, crie duas listas extras que vão conter apenas os valores pares e os valores ímpares digitados, respectivamente. Ao final, mostre o conteúdo das três listas geradas.
  6. Crie um programa onde o usuário digite uma expressão qualquer que use parênteses. Seu aplicativo deverá analisar se a expressão passada está com os parênteses abertos e fechados na ordem correta.

Listas – Parte 2

  1. Faça um programa que leia nome e peso de várias pessoas, guardando tudo em uma lista. No final, mostre:
    A) Quantas pessoas foram cadastradas.
    B) Uma listagem com as pessoas mais pesadas.
    C) Uma listagem com as pessoas mais leves.
  2. Crie um programa onde o usuário possa digitar sete valores numéricos e cadastre-os em uma lista única que mantenha separados os valores pares e ímpares. No final, mostre os valores pares e ímpares em ordem crescente.
  3. Crie um programa que declare uma matriz de dimensão 3x3 e preencha com valores lidos pelo teclado. No final, mostre a matriz na tela, com a formatação correta.
  4. Aprimore o desafio anterior, mostrando no final:
    A) A soma de todos os valores pares digitados.
    B) A soma dos valores da terceira coluna.
    C) O maior valor da segunda linha.
  5. Faça um programa que ajude um jogador da MEGA SENA a criar palpites. O programa vai perguntar quantos jogos serão gerados e vai sortear 6 números entre 1 e 60 para cada jogo, cadastrando tudo em uma lista composta.
  6. Crie um programa que leia nome e duas notas de vários alunos e guarde tudo em uma lista composta. No final, mostre um boletim contendo a média de cada um e permita que o usuário possa mostrar as notas de cada aluno individualmente.

Dicionários

  1. Faça um programa que leia nome e média de um aluno, guardando também a situação em um dicionário. No final, mostre o conteúdo da estrutura na tela.
  2. Crie um programa onde 4 jogadores joguem um dado e tenham resultados aleatórios. Guarde esses resultados em um dicionário em Python. No final, coloque esse dicionário em ordem, sabendo que o vencedor tirou o maior número no dado.
  3. Crie um programa que leia nome, ano de nascimento e carteira de trabalho e cadastre-o (com idade) em um dicionário. Se por acaso a CTPS for diferente de ZERO, o dicionário receberá também o ano de contratação e o salário. Calcule e acrescente, além da idade, com quantos anos a pessoa vai se aposentar.
  4. Crie um programa que gerencie o aproveitamento de um jogador de futebol. O programa vai ler o nome do jogador e quantas partidas ele jogou. Depois vai ler a quantidade de gols feitos em cada partida. No final, tudo isso será guardado em um dicionário, incluindo o total de gols feitos durante o campeonato.
  5. Crie um programa que leia nome, sexo e idade de várias pessoas, guardando os dados de cada pessoa em um dicionário e todos os dicionários em uma lista. No final, mostre:
    A) Quantas pessoas foram cadastradas
    B) A média de idade.
    C) Uma lista com as mulheres.
    D) Uma lista de pessoas com idade acima da média.
  6. Aprimore o desafio 93 para que ele funcione com vários jogadores, incluindo um sistema de visualização de detalhes do aproveitamento de cada jogador.

Funções – Parte 1

  1. Faça um programa que tenha uma função chamada área(), que receba as dimensões de um terreno retangular (largura e comprimento) e mostre a área do terreno.
  2. Faça um programa que tenha uma função chamada escreva(), que receba um texto qualquer como parâmetro e mostre uma mensagem com tamanho adaptável.
    Ex:
    escreva('Olá, Mundo!')

    Saída:
 Olá, Mundo! 
  1. Faça um programa que tenha uma função chamada contador(), que receba três parâmetros: início, fim e passo. Seu programa tem que realizar três contagens através da função criada:
    a) de 1 até 10, de 1 em 1
    b) de 10 até 0, de 2 em 2
    c) uma contagem personalizada.
  2. Faça um programa que tenha uma função chamada maior(), que receba vários parâmetros com valores inteiros. Seu programa tem que analisar todos os valores e dizer qual deles é o maior.
  3. Faça um programa que tenha uma lista chamada números e duas funções chamadas sorteia() e somaPar(). A primeira função vai sortear 5 números e vai colocá-los dentro da lista e a segunda função vai mostrar a soma entre todos os valores pares sorteados pela função anterior.

Funções – Parte 2

  1. Crie um programa que tenha uma função chamada voto() que vai receber como parâmetro o ano de nascimento de uma pessoa, retornando um valor literal indicando se uma pessoa tem voto NEGADO, OPCIONAL e OBRIGATÓRIO nas eleições.
  2. Crie um programa que tenha uma função fatorial() que receba dois parâmetros: o primeiro que indique o número a calcular e outro chamado show, que será um valor lógico (opcional) indicando se será mostrado ou não na tela o processo de cálculo do fatorial.
  3. Faça um programa que tenha uma função chamada ficha(), que receba dois parâmetros opcionais: o nome de um jogador e quantos gols ele marcou. O programa deverá ser capaz de mostrar a ficha do jogador, mesmo que algum dado não tenha sido informado corretamente.
  4. Crie um programa que tenha a função leiaInt(), que vai funcionar de forma semelhante 'a função input() do Python, só que fazendo a validação para aceitar apenas um valor numérico.
    Ex:
    n = leiaInt('Digite um n: ')
  5. Faça um programa que tenha uma função notas() que pode receber várias notas de alunos e vai retornar um dicionário com as seguintes informações:
    - Quantidade de notas
    - A maior nota
    - A menor nota
    - A média da turma
    - A situação (opcional)
    Adicione também as docstrings dessa função para consulta pelo desenvolvedor.
  6. Faça um mini-sistema que utilize o Interactive Help do Python. O usuário vai digitar o comando e o manual vai aparecer. Quando o usuário digitar a palavra 'FIM', o programa se encerrará. Importante: use cores.

Modularização

  1. Crie um módulo chamado moeda.py que tenha as funções incorporadas aumentar(), diminuir(), dobro() e metade(). Faça também um programa que importe esse módulo e use algumas dessas funções.
  2. Adapte o código do desafio #107, criando uma função adicional chamada moeda() que consiga mostrar os números como um valor monetário formatado.
  3. Modifique as funções que form criadas no desafio 107 para que elas aceitem um parâmetro a mais, informando se o valor retornado por elas vai ser ou não formatado pela função moeda(), desenvolvida no desafio 108.
  4. Adicione o módulo moeda.py criado nos desafios anteriores, uma função chamada resumo(), que mostre na tela algumas informações geradas pelas funções que já temos no módulo criado até aqui.
  5. Crie um pacote chamado utilidadesCeV que tenha dois módulos internos chamados moeda e dado. Transfira todas as funções utilizadas nos desafios 107, 108 e 109 para o primeiro pacote e mantenha tudo funcionando.
  6. Dentro do pacote utilidadesCeV que criamos no desafio 111, temos um módulo chamado dado. Crie uma função chamada leiaDinheiro() que seja capaz de funcionar como a função imputa(), mas com uma validação de dados para aceitar apenas valores que seja monetários.

Tratamentos de erros e exceções

  1. Reescreva a função leiaInt() que fizemos no desafio 104, incluindo agora a possibilidade da digitação de um número de tipo inválido. Aproveite e crie também uma função leiaFloat() com a mesma funcionalidade.
  2. Crie um código em Python que teste se o site http://www.pudim.com.br está acessível pelo computador usado.
  3. Crie um pequeno sistema modularizado que permita cadastrar pessoas pelo seu nome e idade em um arquivo de texto simples. O sistema só vai ter 2 opções: cadastrar uma nova pessoa e listar todas as pessoas cadastradas.

curso-em-video-python's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.