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:
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:
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?
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


0