# Data Science Academy - Python Fundamentos - Capítulo 3
# Download: https://github.com/antoniocljBR/python_fundamentos_analise_dados.git

# Exercícios Cap03

# Exercícios - Métodos e Funções

# Exercício 1 - Crie uma função que imprima a sequência de números pares entre 1 e 20 (a função não recebe parâmetro) e 
# depois faça uma chamada à função para listar os números
def pares():
    for i in range(1,21):
        if i % 2 == 0:
            print (i)
            
pares()

# Exercício 2 - Crie umafunção que receba uma string como argumento e retorne a mesma string em letras maiúsculas.
# Faça uma chamada à função, passando como parâmetro uma string
def funcao(frase):
    return frase.upper()

texto = funcao("Retornando uma frase em maiúscula")
print(texto)

# Exercício 3 - Crie uma função que receba como parâmetro uma lista de 4 elementos, adicione 2 elementos a lista e 
# imprima a lista
def funcLista(lista):
    lista2 = ["Abacate", "Melão"]
    
    for i in lista2:
        lista.append(i)
    
    lista.sort()
    print(lista)
    
lista = ["Limão", "Laranja", "Maçã", "Lima"]
funcLista(lista)

# Exercício 4 - Crie uma função que receba um argumento formal e uma possível lista de elementos. Faça duas chamadas 
# à função, com apenas 1 elemento e na segunda chamada com 4 elementos
def funcao(arg1, *argv):
    print(arg1)
    for i in argv:
        print(i)
        
funcao("Programação em Python")
funcao("Programação em Python", "é", "muito interessante", "Parabéns aos programadores Python")

# Exercício 5 - Crie uma função anônima e atribua seu retorno a uma variável chamada soma. A expressão vai receber 2 
# números como parâmetro e retornar a soma deles
soma = lambda p1,p2:p1+p2
print(soma(2,4))

# Exercício 6 - Execute o código abaixo e certifique-se que compreende a diferença entre variável global e local
total = 0
def soma( arg1, arg2 ):
    total = arg1 + arg2; 
    print ("Dentro da função o total é: ", total)
    return total;

soma( 10, 20 );
print ("Fora da função o total é: ", total)

# Exercício 7 - Abaixo você encontra uma lista com temperaturas em graus Celsius
# Crie uma função anônima que converta cada temperatura para Fahrenheit
# Dica: para conseguir realizar este exercício, você deve criar sua função lambda, dentro de uma função 
# (que será estudada no próximo capítulo). Isso permite aplicar sua função a cada elemento da lista
# Como descobrir a fórmula matemática que converte de Celsius para Fahrenheit? Pesquise!!!
Celsius = [39.2, 36.5, 37.3, 37.8]
converte = lambda celsiusTemp:celsiusTemp*(9/5) + 32

Fahrenheit = list(map(converte,Celsius))

print (Fahrenheit)

# Exercício 8
# Crie um dicionário e liste todos os métodos e atributos do dicionário
dicionario = {0:"Desligado",1:"Ligado",2:"Indeterminado"}
print(dir(dicionario))

# Exercício 9
# Abaixo você encontra a importação do Pandas, um dos principais pacotes Python para análise de dados.
# Analise atentamente todos os métodos disponíveis. Um deles você vai usar no próximo exercício.
import pandas as pd
print(dir(pd))


# ************* Desafio ************* (pesquise na documentação Python)

# Exercício 10 - Crie uma função que receba o arquivo abaixo como argumento e retorne um resumo estatístico descritivo 
# do arquivo. Dica, use Pandas e um de seus métodos, describe()
# Arquivo: "binary.csv"
import pandas as pd
file_name = "binary.csv"

def retornaFile(arquivo):
    lido = pd.read_csv(arquivo)
    return lido.describe()

print(retornaFile(file_name))
315e8c960cf08b8ef6401dbbe4e209ce88fd23ad
<mask token>


def funcao(frase):
    return frase.upper()


<mask token>


def funcLista(lista):
    lista2 = ['Abacate', 'Melão']
    for i in lista2:
        lista.append(i)
    lista.sort()
    print(lista)


<mask token>


def funcao(arg1, *argv):
    print(arg1)
    for i in argv:
        print(i)


<mask token>


def soma(arg1, arg2):
    total = arg1 + arg2
    print('Dentro da função o total é: ', total)
    return total


<mask token>


def retornaFile(arquivo):
    lido = pd.read_csv(arquivo)
    return lido.describe()


<mask token>

def pares():
    for i in range(1, 21):
        if i % 2 == 0:
            print(i)


pares()


def funcao(frase):
    return frase.upper()


<mask token>
print(texto)


def funcLista(lista):
    lista2 = ['Abacate', 'Melão']
    for i in lista2:
        lista.append(i)
    lista.sort()
    print(lista)


<mask token>
funcLista(lista)


def funcao(arg1, *argv):
    print(arg1)
    for i in argv:
        print(i)


funcao('Programação em Python')
funcao('Programação em Python', 'é', 'muito interessante',
    'Parabéns aos programadores Python')
<mask token>
print(soma(2, 4))
<mask token>


def soma(arg1, arg2):
    total = arg1 + arg2
    print('Dentro da função o total é: ', total)
    return total


soma(10, 20)
print('Fora da função o total é: ', total)
<mask token>
print(Fahrenheit)
<mask token>
print(dir(dicionario))
<mask token>
print(dir(pd))
<mask token>


def retornaFile(arquivo):
    lido = pd.read_csv(arquivo)
    return lido.describe()


print(retornaFile(file_name))

def pares():
    for i in range(1, 21):
        if i % 2 == 0:
            print(i)


pares()


def funcao(frase):
    return frase.upper()


texto = funcao('Retornando uma frase em maiúscula')
print(texto)


def funcLista(lista):
    lista2 = ['Abacate', 'Melão']
    for i in lista2:
        lista.append(i)
    lista.sort()
    print(lista)


lista = ['Limão', 'Laranja', 'Maçã', 'Lima']
funcLista(lista)


def funcao(arg1, *argv):
    print(arg1)
    for i in argv:
        print(i)


funcao('Programação em Python')
funcao('Programação em Python', 'é', 'muito interessante',
    'Parabéns aos programadores Python')
soma = lambda p1, p2: p1 + p2
print(soma(2, 4))
total = 0


def soma(arg1, arg2):
    total = arg1 + arg2
    print('Dentro da função o total é: ', total)
    return total


soma(10, 20)
print('Fora da função o total é: ', total)
Celsius = [39.2, 36.5, 37.3, 37.8]
converte = lambda celsiusTemp: celsiusTemp * (9 / 5) + 32
Fahrenheit = list(map(converte, Celsius))
print(Fahrenheit)
dicionario = {(0): 'Desligado', (1): 'Ligado', (2): 'Indeterminado'}
print(dir(dicionario))
<mask token>
print(dir(pd))
<mask token>
file_name = 'binary.csv'


def retornaFile(arquivo):
    lido = pd.read_csv(arquivo)
    return lido.describe()


print(retornaFile(file_name))

def pares():
    for i in range(1, 21):
        if i % 2 == 0:
            print(i)


pares()


def funcao(frase):
    return frase.upper()


texto = funcao('Retornando uma frase em maiúscula')
print(texto)


def funcLista(lista):
    lista2 = ['Abacate', 'Melão']
    for i in lista2:
        lista.append(i)
    lista.sort()
    print(lista)


lista = ['Limão', 'Laranja', 'Maçã', 'Lima']
funcLista(lista)


def funcao(arg1, *argv):
    print(arg1)
    for i in argv:
        print(i)


funcao('Programação em Python')
funcao('Programação em Python', 'é', 'muito interessante',
    'Parabéns aos programadores Python')
soma = lambda p1, p2: p1 + p2
print(soma(2, 4))
total = 0


def soma(arg1, arg2):
    total = arg1 + arg2
    print('Dentro da função o total é: ', total)
    return total


soma(10, 20)
print('Fora da função o total é: ', total)
Celsius = [39.2, 36.5, 37.3, 37.8]
converte = lambda celsiusTemp: celsiusTemp * (9 / 5) + 32
Fahrenheit = list(map(converte, Celsius))
print(Fahrenheit)
dicionario = {(0): 'Desligado', (1): 'Ligado', (2): 'Indeterminado'}
print(dir(dicionario))
import pandas as pd
print(dir(pd))
import pandas as pd
file_name = 'binary.csv'


def retornaFile(arquivo):
    lido = pd.read_csv(arquivo)
    return lido.describe()


print(retornaFile(file_name))

# Data Science Academy - Python Fundamentos - Capítulo 3
# Download: https://github.com/antoniocljBR/python_fundamentos_analise_dados.git

# Exercícios Cap03

# Exercícios - Métodos e Funções

# Exercício 1 - Crie uma função que imprima a sequência de números pares entre 1 e 20 (a função não recebe parâmetro) e 
# depois faça uma chamada à função para listar os números
def pares():
    for i in range(1,21):
        if i % 2 == 0:
            print (i)
            
pares()

# Exercício 2 - Crie umafunção que receba uma string como argumento e retorne a mesma string em letras maiúsculas.
# Faça uma chamada à função, passando como parâmetro uma string
def funcao(frase):
    return frase.upper()

texto = funcao("Retornando uma frase em maiúscula")
print(texto)

# Exercício 3 - Crie uma função que receba como parâmetro uma lista de 4 elementos, adicione 2 elementos a lista e 
# imprima a lista
def funcLista(lista):
    lista2 = ["Abacate", "Melão"]
    
    for i in lista2:
        lista.append(i)
    
    lista.sort()
    print(lista)
    
lista = ["Limão", "Laranja", "Maçã", "Lima"]
funcLista(lista)

# Exercício 4 - Crie uma função que receba um argumento formal e uma possível lista de elementos. Faça duas chamadas 
# à função, com apenas 1 elemento e na segunda chamada com 4 elementos
def funcao(arg1, *argv):
    print(arg1)
    for i in argv:
        print(i)
        
funcao("Programação em Python")
funcao("Programação em Python", "é", "muito interessante", "Parabéns aos programadores Python")

# Exercício 5 - Crie uma função anônima e atribua seu retorno a uma variável chamada soma. A expressão vai receber 2 
# números como parâmetro e retornar a soma deles
soma = lambda p1,p2:p1+p2
print(soma(2,4))

# Exercício 6 - Execute o código abaixo e certifique-se que compreende a diferença entre variável global e local
total = 0
def soma( arg1, arg2 ):
    total = arg1 + arg2; 
    print ("Dentro da função o total é: ", total)
    return total;

soma( 10, 20 );
print ("Fora da função o total é: ", total)

# Exercício 7 - Abaixo você encontra uma lista com temperaturas em graus Celsius
# Crie uma função anônima que converta cada temperatura para Fahrenheit
# Dica: para conseguir realizar este exercício, você deve criar sua função lambda, dentro de uma função 
# (que será estudada no próximo capítulo). Isso permite aplicar sua função a cada elemento da lista
# Como descobrir a fórmula matemática que converte de Celsius para Fahrenheit? Pesquise!!!
Celsius = [39.2, 36.5, 37.3, 37.8]
converte = lambda celsiusTemp:celsiusTemp*(9/5) + 32

Fahrenheit = list(map(converte,Celsius))

print (Fahrenheit)

# Exercício 8
# Crie um dicionário e liste todos os métodos e atributos do dicionário
dicionario = {0:"Desligado",1:"Ligado",2:"Indeterminado"}
print(dir(dicionario))

# Exercício 9
# Abaixo você encontra a importação do Pandas, um dos principais pacotes Python para análise de dados.
# Analise atentamente todos os métodos disponíveis. Um deles você vai usar no próximo exercício.
import pandas as pd
print(dir(pd))


# ************* Desafio ************* (pesquise na documentação Python)

# Exercício 10 - Crie uma função que receba o arquivo abaixo como argumento e retorne um resumo estatístico descritivo 
# do arquivo. Dica, use Pandas e um de seus métodos, describe()
# Arquivo: "binary.csv"
import pandas as pd
file_name = "binary.csv"

def retornaFile(arquivo):
    lido = pd.read_csv(arquivo)
    return lido.describe()

print(retornaFile(file_name))