两数交换比较简单
方式1:利用python本身的性质----元组
如下:直接a, b = b,a即可,只是其中用的中间变量元组(b,a)
def swap1(a,b):
a, b = b,a
#等价于
# c = (b,a)
# a = c[0]
# b = c[1]
return a,b
方式二:最简单也最常规的方法,中间变量
def swap2(a,b):
temp = a
a = b
b = temp
return a,b
方法三:重点讲第三种,用异或的方法
如下:比如a^b ^b= a ^(b ^b)=a ^0=a,所以以下均可采用这种方式
#使用异或
def swap3(a,b):
a = a^b
b = a^b #b=a^b^b=a^0=a
a = a^b #a=a^b=a^b^a=0^b=b
return a,b