Quadrants i octants

  1. Dissenya una funció, anomenada quadrant, que a partir d’un punt al pla, retorni el número del quadrant on es troba (enter entre 1 i 4). Si el punt es troba damunt d’algun dels eixos, la funció ha de retornar 0.

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

    >>> quadrant(1,4)
    1
    >>> quadrant(-1,3)
    2
    >>> quadrant(1,0)
    0
    >>> quadrant(4,-4)
    4
    

    Nota

    Podeu descarregar el fitxer amb tests quadrants1.txt


  2. Dissenya una funció, anomenada direccio, que a partir d’un punt al pla, retorni un string indicant la direcció cardinal (E, NE, N, NO, O, SO, S o SE) on es troba aquest punt respecte de l’origen de coordenades. Si el punt es troba a un dels eixos nord-sud o est-oest la funció ha de retornar la direcció corresponent. Si no, retorna NE, NO, SO o SE en funció del quadrant en el que es troba. Finalment, si el punt és l’origen la funció ha de retornar l’string buit.

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

    >>> direccio(1,5)
    'NE'
    >>> direccio(0,2)
    'N'
    >>> direccio(0,0)
    ''
    >>> direccio(-1,-3000)
    'SO'
    >>> direccio(1,-3000)
    'SE'
    >>> direccio(-1,0)
    'O'
    

    Nota

    Podeu descarregar el fitxer amb tests quadrants2.txt


  3. Dissenya una funció, anomenada posicio_relativa que a partir de 6 reals que corresponen a les 3 coordenades de dos punts a l’espai 3D, indiqui la posició relativa del segon punt respecte del primer. La funció ha de retornar un string compost de una, dues o tres classificacions dels 3 parells següents, que es corresponen respectivament amb les posicions dels eixos X, Y, Z: esquerra o dreta, sobre o sota, davant o darrera, separats per un guió.

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

    >>> posicio_relativa(1,2,3,4,5,6)
    'dreta-sobre-davant'
    >>> posicio_relativa(1,1,1,1,1,1)
    ''
    >>> posicio_relativa(1,1,1,-1,1,-1)
    'esquerra-darrera'
    >>> posicio_relativa(2,2,2,-4,-6,-1)
    'esquerra-sota-darrera'
    >>> posicio_relativa(5,6,7,5,6,9)
    'davant'
    >>> posicio_relativa(5,6,7,9,6,7)
    'dreta'
    >>> posicio_relativa(5,6,7,5,9,7)
    'sobre'
    

    Nota

    Podeu descarregar el fitxer amb tests quadrants3.txt

    Suggeriment

    feu una primera versió sense separar les classificacions amb un guió. Després estudieu la manera de posar els guions de separació.