Boas Vindas ao repositório de introdução à Python

Aqui você vai encontrar exercícios para treinar conceitos introdutórios à linguagem Python. Você encontra esse conteúdo aqui dentro da plataforma de aprendizagem.


Como começar?

Passo a Passo
  1. Tenha o Python instalado em sua máquina (guia aqui), caso tenha dúvidas sobre esse ponto, poste no canal da turma e o time responsável irá te ajudar aqui.

  2. Crie o ambiente virtual que será utilizado para instalar as dependências

python3 -m venv .venv
  1. Ative o ambiente virtual que foi criado
source .venv/bin/activate
  1. Instale os requerimentos deste repositório
python3 -m pip install -r dev-requirements.txt
  1. Execute todos os testes do repositório (note que, enquanto não houver implementação nas funções, os testes falharão!)
python3 -m pytest
  1. Execute os testes de um arquivo específico (note que, enquanto não houver implementação nas funções, os testes falharão!)
python3 -m pytest tests/<caminho/para/o/arquivo/de/teste>
  1. Execute apenas um teste específico de um arquivo específico (note que, enquanto não houver implementação nas funções, os testes falharão!)
python3 -m pytest tests/<caminho/para/o/arquivo/de/teste>::<nome_da_função_do_teste>

Detalhamento sobre os exercícios

Operações Básicas

Os exercícios relacionados às operações básicas na linguagem Python podem ser encontrados no arquivo exercises/basic_operations.py, o que se espera de cada um destes exercícios será detalhado abaixo:


  1. A função abaixo deve receber dois números e retornar o valor correspondente à soma dos mesmos.
def basic_sum(first_number, second_number):
    return 
  1. A função abaixo deve receber dois números e retornar o valor correspondente à diferença do primeiro número em relação ao segundo.
def basic_difference(first_number, second_number):
    return 
  1. A função abaixo deve receber dois números e retornar o valor correspondente ao produto dos mesmos.
def basic_product(first_number, second_number):
    return 
  1. A função abaixo deve receber dois números e retornar o valor correspondente à divisão do primeiro com o segundo número.
def basic_division(first_number, second_number):
    return 
  1. A função abaixo deve receber dois números e retornar o valor correspondente à divisão inteira (quociente) do primeiro com o segundo número.
def basic_integer_division(first_number, second_number):
    return 
  1. A função abaixo deve receber dois números e retornar o valor correspondente ao resto da divisão entre o primeiro e o segundo número.
def basic_remainder(first_number, second_number):
    return 
  1. A função abaixo deve receber dois números e retornar o valor correspondente ao primeiro número elevado ao segundo.
def basic_potentiation(first_number, second_number):
    return 


Tipos de Dados em Python

Os exercícios relacionados aos tipos de dados na linguagem Python podem ser encontrados no arquivo: exercises/python_data_types.py, o que se espera de cada um destes exercícios será detalhado abaixo:


  1. A função abaixo deve verificar se o valor recebido como parâmetro é do tipo booleano.
def is_bool(value):
    return 
  1. A função abaixo deve verificar se o valor recebido como parâmetro é do tipo inteiro.
def is_int(value):
    return 
  1. A função abaixo deve verificar se o valor recebido como parâmetro é do tipo float.
def is_float(value):
    return  
  1. A função abaixo deve verificar se o valor recebido como parâmetro é do tipo string.
def is_string(value):
    return 
  1. A função abaixo deve verificar se o valor recebido como parâmetro é do tipo lista.
def is_list(value):
    return 
  1. A função abaixo deve verificar se o valor recebido como parâmetro é do tipo tupla.
def is_tuple(value):
    return 
  1. A função abaixo deve verificar se o valor recebido como parâmetro é do tipo conjunto.
def is_set(value):
    return 
  1. A função abaixo deve verificar se o valor recebido como parâmetro é do tipo dicionário.
def is_dict(value):
    return 
  1. A função abaixo recebe uma string genérica como parâmetro e deve retornar a mesma string, no entanto, todos os caracteres maiúsculos devem ser convertidos em minúsculos.
def return_lower_case_string(word):
    return 
  1. A função abaixo recebe um elemento e uma lista como parâmetros e deve retornar a mesma lista, mas agora contendo o elemento em sua última posição.
def append_element_in_list(element, input_list):
    return 
  1. A função abaixo recebe um elemento e uma lista como parâmetros e deve retornar a mesma lista, mas agora removendo o elemento passado como parâmetro.
def remove_element_from_list(element, input_list):
    return 
  1. A função abaixo recebe uma chave, um valor e um dicionário como parâmetros e deve retornar o mesmo dicionário contendo o novo par chave: valor.
def create_new_key_value_in_dict(key, value, input_dict):
    return 
  1. A função abaixo recebe uma chave e um dicionário como parâmetros e deve retornar o mesmo dicionário, mas agora removendo a chave passada como parâmetro.
def delete_key_from_dict(key, input_dict):
    return 
  1. A função abaixo recebe um elemento e um conjunto como parâmetros e deve retornar o mesmo conjunto contendo o elemento.
def add_element_to_set(element, input_set):
    return 
  1. A função abaixo recebe um elemento e um conjunto como parâmetros e deve retornar o mesmo conjunto removendo o elemento passado como parâmetro
def remove_element_from_set(element, input_set):
    return 


Condicionais

Os exercícios relacionados às estruturas condicionais na linguagem Python podem ser encontrados no arquivo: exercises/conditionals.py. Pode ser que você encontre uma resolução para estes exercícios que não necessite de uma estrutura condicional (ifs), contudo, para fins didáticos, recomenda-se sua utilização. O que se espera de cada um destes exercícios será detalhado abaixo:


  1. A função abaixo deve verificar se a string passada como parâmetro possui 4 ou mais caracteres, em caso positivo, deve retornar True, em caso negativo, retornar False.
def check_if_word_has_4_or_more_letters(word):
    return 
  1. A função abaixo recebe dois números como parâmetros e deve retornar aquele que é maior entre eles, em caso de igualdade, o retorno pode ser qualquer um dos dois.
def check_what_number_is_greater(first_number, second_number):
    return 
  1. A função abaixo deve verificar se o número recebido como parâmetro é par ou ímpar. Caso seja par, a função deve retornar "even", caso seja ímpar, deve retornar "odd".
def check_if_number_is_odd_or_even(number):
    return 
  1. A função abaixo recebe um elemento e uma lista como parâmetros e deve verificar se o elemento está contido na lista, em caso positivo, deve retornar True, em caso negativo, retornar False.
def check_if_element_exists_in_list(element, input_list):
    return 


Repetição

Os exercícios relacionados às estruturas de repetição na linguagem Python podem ser encontrados no arquivo: exercises/repetition.py. Pode ser que você encontre uma resolução para estes exercícios que não necessite de uma estrutura de repetição (for, while), contudo, para fins didáticos, recomenda-se sua utilização. O que se espera de cada um destes exercícios será detalhado abaixo:


  1. A função abaixo recebe uma string como parâmetro e deve retornar uma lista contendo cada um dos caracteres da string. A ordem dos caracteres na lista deve ser a mesma ordem da string.
def append_each_letter_of_the_word_in_a_list(word):
    return 
  1. A função abaixo recebe uma string genérica que tem apenas uma letra maiúscula como parâmetro. A função deve retornar o número que corresponde ao índice (posição) da letra maiúscula na string.
def return_index_of_the_uppercase_letter(word):
    return
  1. A função abaixo recebe uma lista como parâmetro na qual apenas um de seus elementos é uma string. A função deve retornar esse elemento.
def return_element_from_list_that_is_string(input_list):
    return 

Qualquer dúvida ou problema, basta postar no canal do slack da turma ou procurar o time de instrução responsável 😊, bons estudos!