Python >> Tutoriel Python >  >> Python

Comment échanger deux nombres sans utiliser la troisième variable en Python

L'énoncé du problème donné est de " échanger deux nombres sans utiliser d'autre troisième variable en Python ".

Échangez deux nombres sans utiliser ma troisième variable en Python

Il existe deux façons simples d'échanger deux numéros. Ce programme est très simple car nous utilisons des opérations de base comme addition (+) ,soustraction(-) ,produit(*) ,division(/) pour échanger les deux nombres. Dans le premier programme, nous utilisons des opérations de produit et de division pour échanger les deux nombres sans aucune troisième variable.

Utiliser le produit et la division pour échanger deux nombres en Python

En utilisant le produit et la division, nous pouvons échanger deux nombres sans aucune troisième variable.

a=10
b=20
print("before swapping: a= ",a," b= ",b)
a=a*b
#a becomes 200
b=a/b
#b becomes 10
a=a/b
#a becomes 20
print("after swapping: a= ",a," b= ",b)

SORTIE :

before swapping: a= 10 b= 20
after swapping: a= 20 b= 10

Dans le programme ci-dessus, "a" est pris comme 10 et "b" est pris comme 20. Lorsque nous exécutons "a=a*b" , "a" devient 200. Ensuite, nous exécutons "b=a/b" et "a =a/b". Alors "a" devient 20 et "b" devient 10.

Mais, il y a un problème dans l'exécution de ces programmes dans un cas particulier. Lorsque l'un des deux nombres donnés pour l'échange est ZERO (0), l'échange n'est pas possible. À l'exception du cas zéro, cela fonctionnera dans tous les cas de test en échangeant les deux nombres donnés. Pour surmonter le problème ci-dessus, nous pouvons utiliser la méthode d'addition et de soustraction.

Utiliser l'addition et la soustraction pour échanger deux nombres

La façon dont nous suivons pour échanger deux nombres est facile à comprendre facilement. Ce processus est suivi d'une addition et d'une soustraction.

a=10
b=20
print("before swapping: a=" a,"b=" b)
a=a+b
#a becomes 30
b=a-b
#b becomes 10
a=a-b
#a becomes 20
print("after swapping: a=" a,"b= "b)

SORTIE :

before swapping: a= 10 b= 20
after swapping: a= 20 b= 10

Nous prenons "a" comme 10 et "b" comme 20. Nous exécutons d'abord "a=a+b" "a" devient 30. Nous exécutons "b=a-b" et "a=a-b" pour obtenir "a" comme 20 et "b" comme 10.

Nous espérons que cela vous aidera à apprendre à échanger deux nombres sans utiliser une troisième variable en Python.