jak vyměnit hodnoty v pythonu


Odpověď 1:

I když existuje mnoho způsobů, jak zaměnit dvě proměnné. Myslím, že toto je nejjednodušší způsob, jak to udělat v jednom řádku.

a = a + b- (b = a);

Toto je kód v C

#zahrnout int main () { int a = 3, b = 2; printf ("% d% d \ n", a, b);a = a + b- (b = a); // swap logic printf ("% d% d", a, b); }

Bude to v C ++

#zahrnout pomocí jmenného prostoru std; int main () { int a = 3, b = 2; cout <a = a + b- (b = a); // swap logic cout < }

Případně můžete také použít

swap (a, b);

v C ++, protože obsahuje vestavěnou funkci pro výměnu dvou proměnných.

Pro Javu

třída Swap{ public static void main (String args []) { int a = 3, b = 2; System.out.println (a + "" + b);a = a + b- (b = a); // swap logic System.out.println (a + "" + b); }}

Odpověď 2:

Je docela snadné vyměnit dvě proměnné v Pythonu.

a = 8b = 2a, b = b, atisk "Po výměně jsou hodnoty a a b", a, b

Kód v C ++

#zahrnout pomocí jmenného prostoru std;int main (){ int a = 8, b = 2; (a ^ = b), (b ^ = a), (a ^ = b); cout << "Po zaměnění jsou hodnoty a a b:" < návrat 0;}

Vysvětlení:

V šestém řádku je výraz oddělen čárkami, takže vyhodnocení je zleva doprava a operátor XOR se používá k zaměnění hodnot a a b.

a = a XOR b, což je 13 b = b XOR a, což je 8 a = a XOR b, což je 2

Kód Java

výměna třídy{ public static void main (String args []) { int a = 8, b = 2; a = a ^ b ^ (b = a); System.out.println ("Po výměně hodnot a a b jsou" + a + "" + b); }}

Vysvětlení:

V Javě jsou operandy operátorů vždy vyhodnocovány v pořadí zleva doprava a používá se XOR dvě swap dvě proměnné.


Odpověď 3:

C ++ (a ne C způsob), jak to udělat, by bylo

std :: swap (proměnná_1, proměnná_2);

Je to tak jednoduché. Důvodem je, že ve standardní knihovně C ++ již existuje funkce s názvem std :: swap.

POŽADOVÁNO SOUBORY Záhlaví

ale s největší pravděpodobností jste to již zahrnuli, abyste využili výhod dalších zkratek, které poskytuje STK.

Úplným příkladem by bylo: -

#zahrnout int main (){ int a = 9, b = 7; std :: swap (a, b);std :: cout << a << “” << b; // 7 9 zobrazeno návrat 0;}

Pythonský způsob

var_1, var_2 = 10, 25;var_2, var_1 = var_1, var_2;

To je úžasný syntaktický cukr, řekl bych, a docela vysvětlující.


Odpověď 4:

V pythonu existuje snadný způsob, jak dělat všechno. Zde je kód pro výměnu jednoho řádku.

a, b = 10,20a, b = b, a

a to je to v pythonu.

Ale v Javě nebo C ++ to není tak snadné. Tam musíte použít operaci XOR mezi těmito dvěma proměnnými.

Kód v C / C ++ je něco jako

int a = 10; int b = 20;(a ^ = b), (a ^ = b), (a ^ = b);

Kód pro javu je

int a = 10; int b = 20;x = x ^ y ^ (y = x);

V pythonu můžete také použít koncept operace XOR. Tady je kód

a, b = 10,20x, y = (x ^ y) ^ ((x ^ y) ^ y), (x ^ y) ^ y

Snad to pomůže.


Odpověď 5:
# swap x, yt = x; x = y; y = t; # Hotovo. 1 řádek.# pravděpodobně jste mysleli w / o pomocí proměnné tmp.# to je jiný příběh a není zaručen

Odpověď 6:

Můžete jednoduše udělat:

(x ^ = y), (y ^ = x), (x ^ = y);

Po provedení x ^ = y bude x obsahovat x ^ y.

Po provedení y ^ = x bude y y ^ x ^ y = (y ^ y) ^ x = x.

Opět po provedení x ^ = y, x = x ^ y ^ x = y.


Odpověď 7:

a = a + b- (b = a)