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/zh-hant/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 input參數變量用法介紹

    本文將從多個方面對Python input括號里參數變量進行闡述與詳解,並提供相應的代碼示例。 一、基本介紹 Python input()函數用於獲取用戶輸入。當程序運行到inpu…

    編程 2025-04-29
  • 指針Python:為什麼Python中不需要使用指針?

    在Python中,指針的使用不像其他語言一樣那麼常見。這是因為Python有自己的內存管理方式,所以在大多數情況下,不需要顯式地使用指針。那麼,為什麼Python中不需要使用指針呢…

    編程 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
  • Python實現統計100以內能被7整除的數字個數

    本文將從以下幾個方面詳細闡述如何使用Python來實現統計100以內能被7整除的數字個數。具體內容包括: 一、range函數 Python中的range函數是用來生成一個數字序列的…

    編程 2025-04-28

發表回復

登錄後才能評論