面试题—交换两个数字(不使用其他变量)
一、题目要求:
- 有两个整数变量a = 6, b = 100
- 不使用其他变量,交换两个变量的值
二、解法
解法1(使用其他变量):
#解法1–使用临时变量
c = b
b = a
a = c
print(a)
print(b)
解法2(不使用其他变量):
#解法2–不使用临时变量
a = a + b
b = a - b
a = a - b
print(a)
print(b)
解法3(Python独有):
#解法3---Python专有
# 使用元组的方法进行交换
#a, b = (b, a)
#小括号可以省略
a,b = b, a
print(a)
print(b)
三、小结
- 解法1很简单,就不多说了。
- 解法2需要有一定的数学逻辑,大家画个图的话就很容易理解。
- 解法3采用的是python中的元组,借由元组的特性使得交换的操作尤为简单,感兴趣的朋友可以去学习一下。
当然,有小伙伴有别的好的解法都可以在下方留言!