Python Divmod

Python Divmod
Quasi tutte le attività di programmazione hanno bisogno dell'uso di operazioni matematiche. Quando ci affrontiamo un problema, spesso dobbiamo eseguire semplici operazioni aritmetiche e Python fornisce diverse funzioni per aiutarci a realizzare queste operazioni in modo più efficiente. La funzione DivMod (), ad esempio, accetta due numeri non complessi come parametri e restituisce una coppia di numeri contenenti il ​​loro quoziente e il resto. La funzione DivMod () ha la sintassi DivMod (Val1, Val2). Il metodo DivMod () accetta due parametri: 'Val1' è un numero non complesso (numeratore o dividendo) e 'Val2' è un numero non complesso (numeratore o dividendo) (denominatore o divisore). Il metodo DivMod (), quando eseguito, restituisce una tupla. È significativo notare che contiene il quoziente e il resto. Se 'Val1' e 'Val2' sono entrambi numeri interi, il valore di restituzione di DivMod () è (Val1 / Val2, Val1%Val2). Se 'Val1' o 'Val2' è un valore float, il risultato della funzione è (q, val1 percento Val2), dove Q indica l'intero quoziente ed è generalmente simile alla matematica.pavimento (val1/ val2), ma può essere uno in meno. Nell'esempio seguente, vengono utilizzati sia numeri interi che.

Esempio 1:

In questo esempio, useremo la funzione DivMod () sui numeri interi 2,3,12 e 32. Successivamente, utilizziamo la tecnica di DivMod () sui valori del galleggiante. Questi sono 4.8, 4, 10.1 e 7.4, rispettivamente. Ci forniscono una tupla a seguito dell'utilizzo di DivMod (), che può contenere numeri interi e valori fluttuanti.

Print ("2 e 3 dà:", DivMod (2,3))
Print ("12 e 32 dare:", DivMod (12,32))
Stampa ("4.8 e 4 danno: ", DivMod (5.6,2))
Stampa ("10.1 e 7.4 DA: ", DivMod (11.3,9.2))

Quando eseguiamo il codice sopra, otteniamo il seguente risultato.

Esempio 2:

In questo caso useremo zero. Ricorda che se il primo argomento è zero, il risultato è (0,0). E, come previsto, se il secondo input è zero, riceviamo un errore di zerodivision. Come puoi vedere nella prima riga di codice, il primo argomento è zero e il secondo argomento è sei. Il (0.0) Il risultato si ottiene quando il metodo DivMod () viene utilizzato in questi input, come mostrato nello screenshot di output. Prestare attenzione alla seconda riga di codice; Noterai che il primo input è 6 e il secondo è 0. ZerodivisionError viene lanciato da questi parametri di input.

print ("0 e 6 dà:", DivMod (0,6))
print ("6 e 0 dà:", DivMod (6,0))

Otteniamo il seguente output quando eseguiamo il codice scritto sopra.

Esempio 3:

Ora esamineremo la divisibilità. Diciamo che il primo intero è divisibile per il secondo se il prossimo valore della divisione Tuple è 0. Non è divisibile se non lo è. Questo è dimostrato nell'esempio seguente. Come puoi vedere, abbiamo impostato i valori di due variabili, "A" e "B", a 8 e 2. Il metodo DivMod () è stato quindi applicato a queste variabili. Il 2 ° valore della tupla dopo la divisione è 0, come si vede nello screenshot di output. Significa che il primo e il secondo numero sono divisibili l'uno dall'altro.

a = 8
B = 2
quoziente, rimanente = divmod (a, b)
Stampa (quoziente)
Stampa (resto)
if (rimanente == 0):
stampa (a, 'è divisibile da', b)
altro:
stampa (a, 'non è divisibile da', b)

Ecco l'output del codice del nostro terzo programma Python.

Esempio 4:

Nel secondo all'esempio finale, vedremo se l'intero è PRIME. Quando iniziamo a distribuire un numero per ogni numero inizializzando con se stesso fino a 1, possiamo usare DivMod () per tenere traccia dei promemoria che crea. Poiché nessun intero diverso da se stesso divide correttamente un numero primo, il conteggio di zero resti è solo uno. Il numero non è primo se il totale di zero resti è più grande di uno.

Val = 9
X = Val
conta = 0
mentre x != 0:
Q, resto = DivMod (Val, X)
x -= 1
Se rimanente == 0:
conta += 1
se conta> 2:
Stampa (val, 'non è primo')
altro:
Stampa (Val, 'is Prime')

Ecco il risultato del codice da verificare se l'intero è PRIMI di seguito.

Esempio 5:

Utilizzeremo il metodo DivMod () sui valori negativi nel nostro esempio finale. Per argomenti di ingresso negativi Val1, Val2 o entrambi, utilizzare DivMod (Val1, Val2). Se entrambi i parametri sono numeri interi, Python divide il primo elemento della tupla restituita usando la divisione intera Val1 / Val2 e Val1% Val2 per ottenere il secondo elemento. Gli ingressi negativi Val1 o Val2 sono consentiti in entrambe le operazioni. Il tuplo (a, b) che viene restituito viene calcolato in modo che a * val2 + b = val1. L'esempio del codice del programma Python per due scenari è mostrato di seguito, in cui l'input è -20, -2, -20 e 2.

Stampa (DivMod (-20, -2))
Stampa (DivMod (-20, 2))

Riceviamo il seguente risultato quando eseguiamo il codice Python sopra menzionato.

Conclusione:

In questo post, abbiamo superato tutte le caratteristiche e il funzionamento della funzione Python DivMod () e alcuni usi interessanti. Il metodo DivMod () in Python prende due valori come elenco di parametri e li divide e li modula. La funzione DivMod () come coppia restituisce il quoziente e il resto. Quando viene specificato un valore float nella funzione, produce la coppia di quozienti e resto. Esegue questo eliminando il componente decimale dai valori successivi. Se il secondo argomento fornito al metodo DivMod () è zero, viene lanciato uno zerodivisionError. Se un numero intero complesso viene fornito come argomento alla funzione, lancia un'eccezione da parte di TypeEerror. Come risultato di questa guida, ora sappiamo come funziona la funzione Python DivMod ().