Python 中不使用第三变量交换两个数的不同方法

在本教程中,我们将讨论在 Python 程序中交换两个变量(n1 和 n2)而不使用第三个变量的不同方法。

示例:


P: 112
Q: 211
After swapping P and Q:
P: 211
Q: 112

方法 1:通过使用内置方法

内置方法可以处理任何数据类型值,如字符串、浮点、it。这种方法很容易使用。


Left, Right = Right, Left

示例:


P = JavaTpoint
Q = Tutorial

print ("Variables Value Before Swapping: ")
print ("Value of P: ", P) 
print ("Value of Q: ", Q)

# Method to swap 'P' and 'Q'
P, Q = Q, P

print ("Variables Value After Swapping: ")
print ("Value of P: ", P) 
print ("Value of Q: ", Q)

输出:

Variables Value Before Swapping: 
Value of P:  JavaTpoint
Value of Q:  Tutorial
Variables Value After Swapping: 
Value of P:  Tutorial
Value of Q:  JavaTpoint

方法 2:通过使用按位异或运算符

按位异或方法仅适用于整数,并且它的工作速度更快,因为它使用的位操作是针对相同的值结果= 0 和不同的值结果= 1。


P ^= Q
Q ^= P
P ^= Q

示例:


P = 5 # P = 0101
Q = 10 # Q = 1010

print ("Variables Value Before Swapping: ")
print ("Value of P: ", P) 
print ("Value of Q: ", Q)

# Method to swap 'P' and 'Q'
P ^= Q # P = 1111, Q = 1010
Q ^= P # Q = 0101, P = 1111
P ^= Q # P = 1010, Q = 0101

print ("Variables Value After Swapping: ")
print ("Value of P: ", P) 
print ("Value of Q: ", Q)

输出:

Variables Value Before Swapping: 
Value of P:  5
Value of Q:  10
Variables Value After Swapping: 
Value of P:  10
Value of Q:  5

方法 3:通过使用加法和减法运算符

此方法只能用于数值。


P = P + Q
Q = P - Q
P = P - Q

示例:


P = 112
Q = 211

print ("Variables Value Before Swapping: ")
print ("Value of P: ", P) 
print ("Value of Q: ", Q)

# Method to swap 'P' and 'Q'
P = P + Q # P = 323, Q = 211
Q = P - Q # P = 323, Q = 112
P = P - Q # P = 211, Q = 112

print ("Variables Value After Swapping: ")
print ("Value of P: ", P) 
print ("Value of Q: ", Q)

输出:

Variables Value Before Swapping: 
Value of P:  112
Value of Q:  211
Variables Value After Swapping: 
Value of P:  112
Value of Q:  211

方法 4:通过使用乘法和除法运算符

此方法只能用于除 0 以外的数值。


P = P * Q
Q = P / Q
P = P / Q

示例:


P = 11.2
Q = 21.1

print ("Variables Value Before Swapping: ")
print ("Value of P: ", P) 
print ("Value of Q: ", Q)

# Method to swap 'P' and 'Q'
P = P * Q # P = 236.32, Q = 21.1
Q = P / Q # P = 236.32, Q = 11.2 
P = P / Q # P = 21.1, Q = 11.2

print ("Variables Value After Swapping: ")
print ("Value of P: ", P) 
print ("Value of Q: ", Q)

输出:

Variables Value Before Swapping: 
Value of P:  11.2
Value of Q:  21.1
Variables Value After Swapping: 
Value of P:  21.1
Value of Q:  11.2

方法 5:通过使用按位运算符和算术运算符

在这个方法中,我们将同时使用按位运算符和算术运算符。此方法仅适用于整数,不适用于浮点类型。

示例:


P = 112
Q = 211

print ("Variables Value Before Swapping: ")
print ("Value of P: ", P) 
print ("Value of Q: ", Q)

# Same as P = P + Q
P = (P & Q) + (P | Q) ;

# Same as Q = P - Q
Q = P + (~Q) + 1 ;

# Same as P = P - Q
P = P + (~Q) + 1 ;

print ("Variables Value After Swapping: ")
print ("Value of P: ", P) 
print ("Value of Q: ", Q)

输出:

Variables Value Before Swapping: 
Value of P:  112
Value of Q:  211
Variables Value After Swapping: 
Value of P:  211
Value of Q:  112

结论

在本教程中,我们讨论了在不使用第三个变量的情况下交换两个变量的值的不同方法。


原创文章,作者:DJGCH,如若转载,请注明出处:https://www.506064.com/n/317340.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
DJGCH的头像DJGCH
上一篇 2025-01-11 16:27
下一篇 2025-01-11 16:27

相关推荐

  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • int类型变量的细节与注意事项

    本文将从 int 类型变量的定义、声明、初始化、范围、运算和类型转换等方面,对 int 类型变量进行详细阐述和讲解,帮助读者更好地掌握和应用 int 变量。 一、定义与声明 int…

    编程 2025-04-29
  • 用不同的方法求素数

    素数是指只能被1和自身整除的正整数,如2、3、5、7、11、13等。素数在密码学、计算机科学、数学、物理等领域都有着广泛的应用。本文将介绍几种常见的求素数的方法,包括暴力枚举法、埃…

    编程 2025-04-29
  • 指针Python:为什么Python中不需要使用指针?

    在Python中,指针的使用不像其他语言一样那么常见。这是因为Python有自己的内存管理方式,所以在大多数情况下,不需要显式地使用指针。那么,为什么Python中不需要使用指针呢…

    编程 2025-04-29
  • Python input参数变量用法介绍

    本文将从多个方面对Python input括号里参数变量进行阐述与详解,并提供相应的代码示例。 一、基本介绍 Python input()函数用于获取用户输入。当程序运行到inpu…

    编程 2025-04-29
  • Python函数名称相同参数不同:多态

    Python是一门面向对象的编程语言,它强烈支持多态性 一、什么是多态多态是面向对象三大特性中的一种,它指的是:相同的函数名称可以有不同的实现方式。也就是说,不同的对象调用同名方法…

    编程 2025-04-29
  • Python匿名变量的使用方法

    Python中的匿名变量是指使用“_”来代替变量名的特殊变量。这篇文章将从多个方面介绍匿名变量的使用方法。 一、作为占位符 匿名变量通常用作占位符,用于代替一个不需要使用的变量。例…

    编程 2025-04-29
  • Python计算中文字符个数

    本文将从多个方面对Python计算中文字符个数进行详细的阐述,包括字符串长度计算、正则表达式统计和模块使用方法等内容。 一、字符串长度计算 在Python中,计算字符串长度是非常容…

    编程 2025-04-29
  • Python变量在内存中的存储

    该文章将从多个方面对Python变量在内存中的存储进行详细阐述,包括变量的声明和赋值、变量的引用和指向、内存地址的变化、内存管理机制等。 一、声明和赋值 在Python中,变量声明…

    编程 2025-04-29
  • 从不同位置观察同一个物体,看到的图形一定不同

    无论是在平时的生活中,还是在科学研究中,都会涉及到观察物体的问题。而我们不仅要观察物体本身,还需要考虑观察的位置对观察结果的影响。从不同位置观察同一个物体,看到的图形一定不同。接下…

    编程 2025-04-28

发表回复

登录后才能评论