class Operation():
def __init__(self,NumberA=0,NumberB=0):
self.NumberA = NumberA
self.NumberB = NumberB
def GetResult(self):
pass
class AddOp(Operation):
def GetResult(self):
return self.NumberB + self.NumberA
class MinusOp(Operation):
def GetResult(self):
return self.NumberA - self.NumberB
class MultiOp(Operation):
def GetResult(self):
return self.NumberA * self.NumberB
class DivideOp(Operation):
def GetResult(self):
try:
return 1.0*self.NumberA / self.NumberB
except ZeroDivisionError:
raise
class OperationFatory():
def ChooseOperation(self,op):
if op == '+':
return AddOp()
if op == '-':
return MinusOp()
if op == '*':
return MultiOp()
if op == '/':
return DivideOp()
if __name__ == '__main__':
ch = ''
while not ch=='q':
NumberA = eval(raw_input('Please input number1: '))
op = str(raw_input('Please input the operation: '))
NumberB = eval(raw_input('Please input number2: '))
OPFactory = OperationFatory()
OPType = OPFactory.ChooseOperation(op)
OPType.NumberA = NumberA
OPType.NumberB = NumberB
print 'The result is:',OPType.GetResult()
print '\n#-- input q to exit any key to continue'
try:
ch = str(raw_input())
except:
ch = ''
# -*-coding:UTF-8-*-
from abc import ABCMeta,abstractmethod
class Operation():
def __init__(self,NumberA=0,NumberB=0):
self.NumberA = NumberA
self.NumberB = NumberB
def GetResult(self):
pass
class AddOp(Operation):
def GetResult(self):
return self.NumberB + self.NumberA
class MinusOp(Operation):
def GetResult(self):
return self.NumberA - self.NumberB
class MultiOp(Operation):
def GetResult(self):
return self.NumberA * self.NumberB
class DivideOp(Operation):
def GetResult(self):
try:
return 1.0*self.NumberA / self.NumberB
except ZeroDivisionError:
raise
class OperationFatory():
def ChooseOperation(self,op):
if op == '+':
return AddOp()
if op == '-':
return MinusOp()
if op == '*':
return MultiOp()
if op == '/':
return DivideOp()
if __name__ == '__main__':
ch = ''
while not ch=='q':
NumberA = eval(raw_input('Please input number1: '))
op = str(raw_input('Please input the operation: '))
NumberB = eval(raw_input('Please input number2: '))
OPFactory = OperationFatory()
OPType = OPFactory.ChooseOperation(op)
OPType.NumberA = NumberA
OPType.NumberB = NumberB
print 'The result is:',OPType.GetResult()
print '\n#-- input q to exit any key to continue'
try:
ch = str(raw_input())
except:
ch = ''
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有