Fidelització

Una entitat bancària té implantat un sistema de fidelització dels seus clients. El sistema atorga al client uns punts en funció de l’import de cadascuna de les compres que el client fa amb la targeta de crèdit de l’entitat. Cada mes, el client rep una notificació del nombre de punts que ha acumulat i els pot intercanviar per regals. L’assignació de punts es fa d’acord amb aquest criteri:

  • per compres d’import estrictament inferior a 10€ : 1 punt

  • per compres superiors o iguals a 10€: 3 punts per cada 5€ de compra

A més, les compres de 1000€ o més tenen un bonus addicional de 50 punts.

  1. Dissenya la funció calcula_punts que, donat un real que representa l’import d’una compra, retorni un enter igual al nombre de punts corresponents.

    Desa la funció al fitxer fidelitzacio.py. La funció ha de passar el següent doctest:

    >>> calcula_punts(7.8)
    1
    >>> calcula_punts(10.0)
    6
    >>> calcula_punts(75.9)
    45
    >>> calcula_punts(1000.0)
    650
    >>> calcula_punts(1236.8)
    791
    

    Nota

    Pots descarregar el fitxer amb tests calcula_punts.txt

  2. Dissenya la funció actualitza_punts que, donat un enter que representa els punts acumulats per un client, i donat l’import d’una nova compra que aquest client efectua (real), retorni el nombre de punts que el client té un cop sumats els corresponents a la compra efectuada. Cal utilitzar obligatòriament la funció calcula_punts

    Desa la funció al fitxer fidelitzacio.py. La funció ha de passar el següent doctest:

    >>> actualitza_punts(33, 7.8)
    34
    >>> actualitza_punts(0, 10.0)
    6
    >>> actualitza_punts(23, 75.9)
    68
    >>> actualitza_punts(2, 1000.0)
    652
    >>> actualitza_punts(564, 1236.8)
    1355
    

    Nota

    Pots descarregar el fitxer amb tests actualitza_punts.txt

Solució

Disposeu de solucions al fitxer fidelitzacio.py