Modf() chaguo la kukokotoa la hesabu, moduli ya kawaida ya kazi za hisabati katika Python, inaweza kutumika kupata sehemu kamili na desimali ya nambari kwa wakati mmoja.
Tazama nakala ifuatayo ya divmod(), ambayo wakati huo huo inapata mgawo na salio la mgawanyiko.
Pata sehemu kamili na desimali bila moduli ya hesabu
Utumiaji wa int() kwa aina ya sehemu inayoelea hutoa thamani kamili huku nukta ya desimali ikipunguzwa. Hii inaweza kutumika kupata sehemu kamili na sehemu ya desimali.
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'>
Pata sehemu kamili na desimali za nambari kwa wakati mmoja na math.modf()
Chaguo za kukokotoa modf() katika moduli ya hesabu inaweza kutumika kupata kwa wakati mmoja sehemu kamili na desimali ya nambari.
math.modf() inarudisha nakala ifuatayo Kumbuka mpangilio, kwani sehemu ya desimali huja kwanza.
(decimal, integer)
import math
print(math.modf(1.5))
print(type(math.modf(1.5)))
# (0.5, 1.0)
# <class 'tuple'>
Kila moja inaweza kufunguliwa na kupewa kigezo tofauti kama ifuatavyo Sehemu kamili na desimali ni aina za kuelea.
f, i = math.modf(1.5)
print(i)
print(f)
# 1.0
# 0.5
print(type(i))
print(type(f))
# <class 'float'>
# <class 'float'>
Ishara itakuwa sawa na ishara ya thamani asili kwa sehemu kamili na desimali.
f, i = math.modf(-1.5)
print(i)
print(f)
# -1.0
# -0.5
Inatumika kwa aina za int. Katika kesi hii, sehemu kamili na decimal ni aina za kuelea.
f, i = math.modf(100)
print(i)
print(f)
# 100.0
# 0.0
Mbinu ifuatayo inaweza kutumika kuangalia ikiwa aina ya kuelea ni nambari kamili (yaani, sehemu ya desimali ni 0) bila kupata sehemu ya desimali. Tazama makala ifuatayo.
float.is_integer()