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?
- - - Actualizado - - -
Ya he logrado hacerlo , arriba el codigo para que quizas a alguien el sirva a futuro
Código:
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)
Nose como usar el if __name__=='__main__' no entiendo como deberia ir etc.
Desde ya gracias.
- - - Actualizado - - -
Mi actual programa ahora es:
Código:
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)
- - - Actualizado - - -
Código:
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 ''' ### Menu ### (1) Suma (2) Resta''' respuesta=raw_input('Ingrese una seleccion ') if '1' in respuesta: print 'La suma es',a+b elif '2' in respuesta: print 'La resta es',a-b