编写一个 Python 程序,使用临时变量、按位运算符和算术运算符交换两个数字。标准技术是使用临时变量。但是,Python 允许您使用逗号将值赋给多个变量,这是最佳的替代方法。
Python 使用临时变量交换两个数字的程序
此程序帮助用户输入两个数值。接下来,使用临时变量交换这两个值。
a = float(input(" Please Enter the First Value a: "))
b = float(input(" Please Enter the Second Value b: "))
print("Before Swapping two Number: a = {0} and b = {1}".format(a, b))
temp = a
a = b
b = temp
print("After Swapping two Number: a = {0} and b = {1}".format(a, b))

在上面的 Python 程序 示例中,我们分配了 a = 10 和 b = 20
Temp = a – 将 a 的值赋给 Temp 变量。
Temp = 10
a = b – 将 b 的值赋给变量 a
a = 20
b = Temp – 将 Temp 的值赋给变量 b
b = 10
使用函数交换两个数字
此交换数字的程序与上面相同,但这次我们将逻辑与 函数 分开。
# using functions
def swap_numbers(a, b):
temp = a
a = b
b = temp
print("After: num1 = {0} and num2 = {1}".format(a, b))
num1 = float(input(" Please Enter the First Value : "))
num2 = float(input(" Please Enter the Second Value : "))
print("Before: num1 = {0} and num2 = {1}".format(num1, num2))
swap_numbers(num1, num2)

Python 不使用临时变量交换两个数字的程序
此程序接受两个浮点数。接下来,我们执行多次赋值来交换它们。
a = float(input("Enter the First Value = "))
b = float(input("Enter the Second Value = "))
a, b = b, a
print("a = {0} and b = {1}".format(a, b))

Enter the First Value = 10
Enter the Second Value = 20
a = 20.0 and b = 10.0
使用算术运算符交换两个浮点数
在此 示例 中,我们不使用临时变量或第三个变量来交换两个数字,而是使用 算术运算符。这纯粹是两个变量的加法和减法。
# using arithmetic + and - operators
a = float(input(" Please Enter the First Value a: "))
b = float(input(" Please Enter the Second Value b: "))
print("Before Swapping two Number: a = {0} and b = {1}".format(a, b))
a = a + b
b = a - b
a = a - b
print("After Swapping two Number: a = {0} and b = {1}".format(a, b))

用户输入的值为 a = 25 和 b = 45
a = a + b = 25 + 45 = 70
b = a – b = 70 – 45 = 25
a = a – b = 70 – 25 = 45
使用 XOR 按位运算符交换两个数字
在这里,我们使用 XOR 按位运算符 来交换两个数字。
a = int(input(" Please Enter the First Value : "))
b = int(input(" Please Enter the Second Value : "))
print("Before: a = {0} and b = {1}".format(a, b))
a = a^b
b = a^b
a = a^b
print("After: a = {0} and b = {1}".format(a, b))
使用按位运算符的输出
Please Enter the First Value : 111
Please Enter the Second Value : 222
Before: a = 111 and b = 222
After: a = 222 and b = 111