Di Python de bi math.modf-ê re di heman demê de beşên yekjimar û dehan yên jimarekê bistînin

Dikan

Fonksiyona modf() ya matematîkê, modula standard ji bo fonksiyonên matematîkî yên di Python de, dikare were bikar anîn da ku beşên yekjimar û dehiyê yên hejmarekê bi hev re bi dest bixe.

Binêre gotara jêrîn ji bo divmod(), ku di heman demê de hevber û mayî ya dabeşkirinê digire.

Bêyî modula matematîkê beşên yekjimar û dehemîn bistînin

Bi sepandina int() li ser tîpek float-xala herikîn, nirxek yekjimar bi xala dehiyê qutkirî peyda dike. Ev dikare were bikar anîn ji bo bidestxistina beşa yekjimar û beşa dehiyê.

a = 1.5

i = int(a)
f = a - int(a)

print(i)
print(f)
# 1
# 0.5

print(type(i))
print(type(f))
# <class 'int'>
# <class 'float'>

Bi math.modf() re hevdem beşên yekhejmar û dehiyê yên jimarekê bistînin.

Fonksiyona modf() di modula matematîkê de dikare ji bo bidestxistina yekjimar û beşên dehiyê yên yekjimarê were bikar anîn.

math.modf() jimareya jêrîn vedigerîne rêzê bi bîr bîne, ji ber ku beşa dehan yekem tê.

  • (decimal, integer)
import math

print(math.modf(1.5))
print(type(math.modf(1.5)))
# (0.5, 1.0)
# <class 'tuple'>

Her yek dikare bê pakkirin û li guhêrbarek cihêreng wekî jêrîn were veqetandin Hem beşên yekjimar û hem jî yên dehiyê celebên float in.

f, i = math.modf(1.5)

print(i)
print(f)
# 1.0
# 0.5

print(type(i))
print(type(f))
# <class 'float'>
# <class 'float'>

Nîşan dê wekî nîşana nirxa orîjînal hem ji bo beşên yekjimar û hem jî ji bo beşên dehiyê heman be.

f, i = math.modf(-1.5)

print(i)
print(f)
# -1.0
# -0.5

Ji bo cureyên int sepandin. Di vê rewşê de, her du beşên yekjimar û dehjimar celebên float in.

f, i = math.modf(100)

print(i)
print(f)
# 100.0
# 0.0

Rêbaza jêrîn dikare were bikar anîn da ku were kontrol kirin ka celebek float jimareyek tekûz e (ango, beşa dehiyê 0 ye) bêyî bidestxistina beşa dehiyê. Gotara jêrîn bibînin.

  • float.is_integer()
Copied title and URL