问答题 4.  如何只使用+=操作符实现加减乘除运算
【正确答案】本题要求只能使用+=操作来实现加减乘除运算,下面重点介绍用+=操作来实现加减乘除运算的方法:
   (1)加法操作:实现a+b的基本思路为对a执行b次+=操作即可;
   (2)减法操作:实现a-b(a>=b)的基本思路为:不断对b执行+=操作,直到等于a为止,在这个过程中记录执行+=操作的次数;
   (3)乘法操作:实现a*b的基本思路为:利用已经实现的加法操作把a相加b次,就得到了a*b的值;
   (4)除法操作:实现a/b的基本思路为:利用乘法操作,使b不断乘以1,2,…n,直到b*n>b时,就可以得到商为n-1。
   根据以上思路,实现代码如下:
   """
   方法功能: 用+=实现加法操作(限制条件: 至少有一个非负数)
   输入参数: a,b都是整数, 且有一个非负数
   返回值: a+b
   """
   def add(a,b):
   if a<0 and b<0:
   print "无法用+=操作实现"
   return -1
   if b>=0:
   i=0
   while i<b:
   a+=1
   i+=1
   return a
   else:
   i=0
   while i<a:
   b+=1
   i+=1
   return b
   
   """
   方法功能: 用+=实现加减法操作(限制条件: 被减数大于减数)
   输入参数: a,b都是整数且a>=b
   返回值: a-b
   """
   def minus(a,b):
   if a<b:
   print "无法用+=操作实现"
   return -1
   result=0
   while b!=a:
   b+=1
   result+=1
   return result
   
   """
   方法功能: 用+=实现加乘法操作(限制条件: 两个数都为整数)
   输入参数: a,b都是正整数
   返回值: a*b
   """
   def multi(a,b):
   if a<=0 or b<=0:
   print "无法用+=操作实现"
   return -1
   result=0
   i=0
   while i<b:
   result=add(result,a)
   i+=1
   return result
   """
   方法功能: 用+=实现加除法操作(限制条件:两个数都为整数)
   输入参数: a,b都是正整数
   返回值: a、b
   """
   def divide(a,b):
   if a<=0 or b<=0:
   print ”无法用+=操作实现”
   return -1
   result=1
   tmpMulti=0
   while True:
   tmpMulti=multi(b,result)
   if tmpMult<=a:
   result+=1
   else:
   break
   return result-1
   
   if __name__=="__main__":
   print add(2,-4)
   print minus(2,-4)
   print multl(2,4)
   print divide(9,4)
   程序的运行结果为:
   -2
   6
   8
   2
   此外,在实现加法操作的时候,如果a与b都是整数,那么可以选择比较小的数进行循环,从而可以提高算法的性能。
【答案解析】

[考点] 如何只使用+=操作符实现加减乘除运算。