题目要求:
- 有两个整数变量a = 5, b = 10
- 不使用其他变量,交换两个变量的值
a = 5 b = 10 # 解法一:使用其他变量 # 定义一个中间变量c c = a # c = 5 a = b # a = 10 b = c # b = 5 # 打印看结果 print(a) print(b)
执行结果:
使用一个中间变量c,然后让a的值赋值给变量c,此时变量c的值是c = 5,再把变量b的值10赋值给变量a,此时变量a的值是a = 10,最后把变量c的值5赋值给变量b变量b的值是b = 5。
解法二: 不使用临时变量a = 5 b = 10 # 解法二:不使用其他变量 a = a + b # a = 5 + 10 = 15 b = a - b # b = 15 - 10 = 5 a = a - b # a = 15 - 5 = 10 # 打印看结果 print(a) print(b)
执行结果:
这个方法可能不是特别好理解,没关系,多看看上面的代码,尝试着多理解几遍就可以了。
解法三: Python专有,利用元组a = 5 b = 10 # 解法三: Python专有,利用元组 # a, b = (b, a) # 可以省略元组的小括号 # 等号右边是一个元组,只是把小括号省略了 a, b = b, a # 打印看结果 print(a) print(b)
执行结果:
利用变量和元组,依次把元组中的元素传递给相对应的变量。所以,等号右侧是一个元组,等号左侧是多个变量,我们用多个变量来接收元祖,在接收的过程中就会把元祖中第一个元素元递给第一个变量,把援助中国第二个元素传递给第二个变量,以此类推。
注意:如果元组中元素个数和变量的个数不相等会报错。
还有更多的Python练习题在python自学网,感兴趣的话大家可以去瞅一瞅,练习自己的开发思维。



