Você está desenvolvendo o sistema de um caixa eletrônico para um banco. O cliente do banco fornece ao caixa quanto dinheiro deseja retirar e o caixa deve liberar o valor utilizando as cédulas disponíveis. Por exemplo, no caso de um caixa que tenha apenas notas de 10, 20 e 50 reais, um usuário que solicita o saque de 180 reais deve receber 3 notas de 50, 2 notas de 20 e 1 nota de 10.
Escreva a função CaixaEletronico cujo paramêtro de entrada é o valor a ser sacado. A função deve retornar o número de notas de cada valor devolvidas, em ordem decrescente do valor da nota. O caixa deve devolver o menor número possível de células que contemplem o valor solicitado. Considere que o caixa eletrônico tenha notas de 50, 20, 10, 5 e 1. Dica: utilize os operadores // e %.
In [1]:
def CaixaEletronico(valor):
notas50 = valor // 50
valor = valor % 50
notas20 = valor // 20
valor = valor % 20
notas10 = valor // 10
valor = valor % 10
notas5 = valor // 5
valor = valor % 5
notas1 = valor // 1
return (notas50, notas20, notas10, notas5, notas1)
CaixaEletronico(184)
Out[1]:
O regime de juros compostos é o mais comum no sistema financeiro e portanto, o mais útil para cálculos de problemas do dia-a-dia. Os juros gerados a cada período são incorporados ao principal para o cálculo dos juros do período seguinte:
$$montante \cdot (1+\frac{taxa}{100}))^{meses}$$Escreva a função JurosCompostos, cujas entradas são: o valor do montante original, a taxa de juros ao mês da aplicação (em %) e o número de meses da aplicação. A função deve retornar o montante total corrigido e o valor total da taxa dos juros compostos aplicados sobre o montante original (em %).
In [2]:
def JurosCompostos(montante,taxa,meses):
correcao = 1
for i in range(meses):
correcao *= (1+(taxa/100))
return montante*correcao, (correcao - 1)*100
print(JurosCompostos(1000,1,12))
Sobre o salário bruto de um trabalhador incide contribuções e impostos. Os mais comuns são a contribuição para a aposentadoria e o imposto de renda. A base de cálculo do imposto de renda considera o salário bruto descontado das contribuições da aposentadoria. Considere que a alíquota da contribuição para aposentadoria seja de 11% sobre o total do salário bruto, independentemente do valor recebido durante o ano. Considere ainda que sobre a base de cálculo anual para o imposto de renda, para o valor de até 24 mil reais por ano, o trabalhador é isento de Imposto de renda. Somente sobre o que ultrapassar esse valor, será cobrado 15% a título de imposto de renda.
Escreva a função ImpostoRenda cuja entrada é o valor do salário bruto anual e cuja saída é o valor líquido recebido durante o ano.
In [16]:
def ImpostoRenda(salario):
salario = salario * 0.89
if (salario <= 24000):
return salario
else:
return salario - (0.15 * (salario-24000))
print(ImpostoRenda(30000))
Crie a função Soma que permita o calculo da seguinte somatória: −1 + 2 − 3 + 4 − 5 + 6 + · · · + N
A função soma deve ter como parâmetro de entrada o número N e a saída igual a somatória acima.
In [18]:
def Soma(n):
soma = 0
for i in range(1,n+1):
soma = soma + i*( (-1)**i)
return soma
print(Soma(10))
Fazer uma função Palíndromo que receba como parâmetro de entrada uma string e retorne True se ela for palíndroma e False, caso contrário. Uma string é dita palíndromoa se ela é igual lida da esquerda para a direita e vice-versa. Exemplos: RADAR é palíndroma e PYTHON não é.
In [22]:
def Palindromo(nome):
n = len(nome)
k = 0
while k<n/2:
if nome[k] != nome[n-k-1]:
return False
k = k+1
return True
print(Palindromo('RADAR'))
print(Palindromo('Python'))
Crie a função MaiorMenor, que dada uma lista de números como entrada, retorne o maior e menor elemento dessa lista.
In [24]:
def MaiorMenor(lista):
menor = lista[0]
maior = lista[0]
for elemento in lista:
if elemento > maior:
maior = elemento
if elemento < menor:
menor = elemento
return maior, menor
lista = [1,2,4,16,32,64,-128]
print(MaiorMenor(lista))
In [5]:
def Consecutivos(n):
soma = 0
for i in range(1,n+1):
soma += i
impares = [x for x in range(2*soma) if x%2!=0 ]
return impares[soma-n:soma]
print(Consecutivos(4), sum(Consecutivos(4)), 4**3)
In [1]:
type( (1,2))
Out[1]:
In [ ]: