Pyhton不使用第三個變量,完成兩個變量值的更換

Pyhton不使用第三個變量,完成兩個變量值的更換

1、使用第三個變量的情況下怎麼更換兩個變量的值?
這裏我們用Python語言進行舉例:

			
			a = 10
			b = 20
			c = a
			a = b
			b = c
			print("a=",a)
			print("b=",b)
			

運行結果如下圖所示:
引入第三方變量互換兩個變量的值
我們可以把a和b類比成兩個水杯,c是另一個水杯,此時想把a中的水和b中的水進行對換,我們可以使用c作爲中間容器,然後進行換水。

2、 不引入第三個變量的情況下,怎麼實現兩個變量值的互換?
既然是不使用第三個變量,我們只能對原有變量進行操作,也就是隻能操作原有的兩個杯子和其中的水。
Python代碼如下:


			a = 10
			b = 20
			
			a = a + b
			b = a - b
			a = a - b
			
			print(a)
			print(b)

代碼運行結果如下圖所示:
不引入第三方變量更換兩個變量的值對應圖
同樣,這裏我們依然可以認爲是a和b是兩個規格一樣的杯子,但是這裏對水的總量有要求,假設a和b是同等規格的杯子的話,那麼a中的水和b中的水的總容量不能超出其中任意一個杯子的容量,如果說超出的話,那麼就會造成數據的內存溢出。
(1)我們先將b中的水倒入a中,然後a現在的水量爲原來a中水量和b中水量的總和。
(2)然後我們需要想一下的是,a的初值是多少?10,沒錯,就是10。那麼a和b的總量是30,也就是說a = (a+b)(就是總和a=a+b)- b是成立的,我們需要把a的值賦給b,所以有 b = a - b 完成了將a的值賦給b 。既然a的值已經賦給了b , 那麼 a = a - b 兩個數值對換完成。
(3)這種方式進行變量值的互換的前提是:
①兩個數據類型一致(當然Python是弱類型語言,這裏自己補課),所以說是規格一樣的杯子
②兩個值的總和不能超過該類型變量的上限值(數據內存溢出)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章