Projeto 6

Ate 2a feria dia 21/10 ate 23:59

Considere a função somaQuadrados que recebe um numero qualquer de argumentos e retorna a soma dos quadrados desses numeros.

Na versao futura da sua biblioteca essa funçao recebera apenas até 3 argumentos. Escreva um decorator e aplique-o a estea funcao, de forma que se o usuário entrar com mais de 3 argumentos para a somaQUadrados o programa imprime “A função somaQuadrados será modificada na proxima versão da biblioteca para aceitar apenas até 3 argumentos”

  1. valendo 5 pontos: implemente o decorator de forma que ele só imprime a mensagem na primeira vez que a função é chamada com mais de 3 argumentos.

  2. valendo os 10 pontos: implemente o decorator de forma que ele imprime a mensagem a cada 10 vezes que a funçao é chamada com mais de 3 argumentos, desde que tenha se passado mais de 5 minutos da ultima vez que a mensagem foi escrita.

Assim

import time
for i in  range(31):
    a = somaQuadrados(1,2,3,4)
    if i<= 12: 
        time.sleep(60)  #  1 minuto
    b = somaQuadrados(1,2,3)
   

deve imprimir a mensagem na primeira passagem (i==0) por a = somaQuadrados(1,2,3,4) e na 11 passada (i==10) de a = somaQuadrados(1,2,3,4) e não mais. Nunca imprime em b = somaQuadrados(1,2,3) e as outras passadas (i==20 e i==30) por a = .. acontecem em menos de 5 minutos da impressão no i==10.