Pyhton不使用第三个变量,完成两个变量值的更换

6 篇文章 0 订阅
2 篇文章 0 订阅

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是弱类型语言,这里自己补课),所以说是规格一样的杯子
②两个值的总和不能超过该类型变量的上限值(数据内存溢出)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值