Qual è la differenza tra “2*2” e “2**2” in Python?

Qual è la differenza tra i seguenti codici?

code1:

var=2**2*3

code2:

var2=2*2*3

Vedo alcuna differenza.
Questo solleva la seguente questione.

Perché il codice1 utilizzato se siamo in grado di utilizzare code2?

  • Quando si fanno le prove con i numeri di seguire queste 2 regole: utilizzare solo i numeri primi (si erano ok) e non usare mai 2 volte.

 

10 Replies
  1. 121

    Provare:

    2**3*2

    e

    2*3*2

    per vedere la differenza.

    ** è l’operatore per il “potere”. In una particolare operazione, 2 alla potenza di 2 produce la stessa come 2 volte 2.

  2. 33

    Stelle doppie (**) sono elevamento a potenza. Così “2 2” e “2 l’alimentazione 2” sono gli stessi. Cambiano i numeri e vedrai la differenza.

    • Infatti, le stelle doppie sono abbastanza comunemente utilizzato in qualsiasi lingua dove il carato (^) è riservato per operazioni XOR. Io non credo di aver visto delle stelle doppie con qualsiasi altro significato di elevamento a potenza.
    • Essi sono stati utilizzati in FORTRAN un lungo, lungo tempo fa.
    • Stella doppia è stato introdotto come potenza in Fortran che non ha operatore simboli.
    • Fatto curioso: Google utilizza entrambi i ^ e **
    • Fortran è anche anteriore ASCII, quindi non poteva dipendere dal ^ di caratteri disponibili.
  3. 14
      2**2 means 2 squared (2^2)
      2*2 mean 2 times 2 (2x2)

    In questo caso capita di avere lo stesso valore, ma…

      3**3*4 != 3*3*4
  4. 4

    Specificamente per rispondere alla tua domanda Perché il codice1 utilizzato se siamo in grado di utilizzare code2? Potrei suggerire che il programmatore è stato il pensare matematicamente senso più ampio. In particolare, forse il più ampio equazione è un’equazione di potere, e il fatto che sia in prima che i numeri sono “2” è più coincidenza di matematica della realtà. Voglio per assicurarsi che il contesto più ampio del codice supporta essere

    var = x * x * y

    in tutti i casi, piuttosto che in questo specifico caso da solo. Questo potrebbe arrivare in grande difficoltà se x è per niente 2.

  5. 1

    Il top è un “potere” operatore, quindi in questo caso è uguale a 2 * 2 è uguale a 2 la potenza di 2. Se si mette un 3 in una posizione intermedia, si vedrà una differenza.

  6. 1

    Un doppio asterisco significa il potere di. Un singolo asterisco significa moltiplicato per. 22 è la stessa 2×2, che è il motivo per cui entrambe le risposte erano 4.

  7. 1

    Potere ha più la precedenza rispetto a moltiplicarsi, così:

    2**2*3 = (2^2)*3
    2*2*3 = 2*2*3

Lascia un commento