Python - clase de vectores con menu desplegable.

   
Vista:

clase de vectores con menu desplegable.

Publicado por J. Marquez (12 intervenciones) el 26/11/2012 05:52:23
Buenas, tengo mi siguiente clase que suma y resta dos vectores:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Vector2d:
 
 
    def __init__(self,x,y):
        self.x=x
        self.y=y
 
 
    def __repr__(self):
        return "(%9.5f,%9.5f)" %(self.x,self.y)
 
    def __add__(self,nuevovector):
        return Vector2d(self.x+nuevovector.x,self.y+nuevovector.y)
 
 
    def __sub__(self,nuevovector):
        return Vector2d(self.x-nuevovector.x,self.y-nuevovector.y)


Como podria usar el metodo especial if __name__=='main' para que se pida al usuario que ingrese dos vectores y luego se despliege un menu que le permita elegir entre sumarlos y/o restarlos?

Nose como usar el if __name__=='__main__' no entiendo como deberia ir etc.
Desde ya gracias.

- - - Actualizado - - -

Mi actual programa ahora es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import string
class Vector2d:
 
 
    def __init__(self,x,y):
        self.x=x
        self.y=y
 
 
    def __repr__(self):
        return "(%9.5f,%9.5f)" %(self.x,self.y)
 
    def __add__(self,nuevovector):
        return Vector2d(self.x+nuevovector.x,self.y+nuevovector.y)
 
 
    def __sub__(self,nuevovector):
        return Vector2d(self.x-nuevovector.x,self.y-nuevovector.y)
 
 
 
 
if __name__=='__main__':
    x=input('ingrese primera coordenada del primer vector')
    y=input('ingrese segunda coordenada del primer vector')
    z=input('ingrese primera coordenada del segundo vector')
    w=input('ingrese segunda coordenada del segundo vector')
    a=Vector2d(x,y)
    b=Vector2d(z,w)
    print a+b
    menu={'S':a+b,'R':a-b}
    print '[S] para sumar, [R] para restar'
    choice=string.upper(raw_input())
    menu[choice](a,b)


Pero al ejecutar en el terminal, python vector.py, se me ejecuta bien hasta la parte donde me dice '[S] para sumar, [R] para restar' pero se que no esta bien puesto el menu, nose como hacerlo, la idea es que al apretar S, me de el valor de a+b (la suma de los dos vectores). Como lo hago?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

clase de vectores con menu desplegable.

Publicado por J. Marquez (12 intervenciones) el 26/11/2012 08:10:56
ya he logrado hacerlo aunque de otra manera el menu =)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar