segunda-feira, 9 de abril de 2018

Introdução 8

Características Iniciais - 8ª Parte

Exercícios do Livro: 

"Python para Desenvolvedores" 2ª Ed. Autor: Luiz Eduardo Borges
Livro TOP!
  1. Implementar duas funções:
    1. Uma que converta temperatura em graus Celsius para Fahrenheit.
    2. Outra que converta temperatura em graus Fahrenheit para Celsius.
    3. Lembrando que: F=(9/5*C)+32
  2. Implementar uma função que retorne verdadeiro se o número for primo (falso caso contrário). Testar de 1 a 100.
  3. Implementar uma função que receba uma lista de listas de comprimentos quaisquer e retorne uma lista de uma dimensão.
  4. Implementar uma função que receba um dicionário e retorne a soma, a média e a variação dos valores.
  5. Escreva uma função que:
    1. Receba uma frase como parâmetro.
    2. Retorne uma nova frase com cada palavra com as letras invertidas.
  6. Crie uma função que:
    1. Receba uma lista de tuplas (dados), um inteiro (chave, zero por padrão igual) e um booleano (reverso, falso por padrão).
    2. Retorne dados ordenados pelo item indicado pela chave e em ordem decrescente se reverso for verdadeiro.
--------------------------------------------------------------------
Soluções:

#EXERCICIO 1
def converte_c_to_f(c):
    f = (9/5*c)+32
    return f

def converte_f_to_c(f):
    c = (5*f-160)/9
    return c

print(converte_c_to_f(50))
#122.0
print(converte_f_to_c(122))
#50.0
####################################################################
#EXERCICIO 2
def verifica_se_numero_primo(numero):
    status='primo'
    for x in range(2,numero):     
        resto = numero % x
        if resto == 0:
            status=''
    if status=='primo':
        return True
    else:
        return False     
                 
for x in range(2,100):
    if verifica_se_numero_primo(x)==True:
        print(x, ' Primo? ', verifica_se_numero_primo(x))
####################################################################
#EXERCICIO 3
def soma_comprimentos(lista):
    #print(lista(0))
    soma=0
    for x in lista:
        soma+=x
    return soma

comprimentos=[10,15,35]
print(soma_comprimentos(comprimentos))
#60
####################################################################
#EXERCICIO 4
def calculos_com_dicionario(dicionario):
    soma_valor=0
    media_valor=0
    tamanho_dicionario=(len(dicionario))
    for chave,valor in dicionario.items():
        print(chave,'=>',valor)
        soma_valor+=valor
    print('Soma:',soma_valor)
    print('Média:',soma_valor/tamanho_dicionario)

dicio={'v1':10,'v2':20,'v3':55,'v4':90}
calculos_com_dicionario(dicio)
print(type(dicio))
####################################################################
#EXERCICIO 5
def inverte_frase(frase):
    lista_palavras=frase.split()
    resultado=''
    for palavra in lista_palavras:
        if len(palavra)>1:                       
            palavra=palavra[::-1]
        resultado = resultado + ' ' + palavra
    return resultado

texto='o Brasil é a minha pátria'
print(inverte_frase(texto))
#o lisarB é a ahnim airtáp

#Sobre enumerate():
#So, in the for index, item in enumerate(choices): expression index, item is the pair of count, value of each tuple: (0, 'pizza'), (1, 'pasta'), ...
#We may easily change the start count/index with help of enumerate(sequence, start=0)
####################################################################
#EXERCICIO 6
def ordena_dados(dados, chave=0, reverso=False):
    lista_dados=list(dados)
   
    lista_dados.sort(reverse=reverso)
    print(lista_dados)
    #[9, 7, 4, 2, 1]
    tupla_dados=tuple(lista_dados)
    return tupla_dados

tupla=(4,7,1,9,2)
print(ordena_dados(tupla,reverso=True))
#(9, 7, 4, 2, 1)

#Parametro key(chave):
#O valor do parâmetro key deve ser uma função que usa um único argumento e retorna uma chave para fins de classificação. Essa técnica é rápida porque a função-chave é chamada exatamente uma vez para cada registro de entrada.
--------------------------------------------------------------------

Nenhum comentário:

Postar um comentário