Përcaktimi nëse një numër është një numër i plotë ose një dhjetor në Python

biznes

Përcaktoni nëse një numër është një numër i plotë apo një dhjetor në Python.

Rastet e mëposhtme shpjegohen me kodet e mostrës.

  • Përcakton nëse një numër është një int numër i plotë ose një float me pikë lundruese:isinstance()
  • Përcakton nëse një numër i tipit float është një numër i plotë (0 shifra dhjetore):float.is_integer()
  • Përcakton nëse një varg numrash është një numër i plotë

Për të marrë vlerat e plota dhe dhjetore të një numri dhjetor, shihni artikullin vijues.

Shih artikullin vijues për informacion mbi përcaktimin nëse një varg është një numër (përfshirë numrat kinezë, etj.) dhe jo nëse është një numër i plotë ose dhjetor.

Përcakton nëse një numër është tip numër i plotë ose me pikë lundruese:isinstance()

Lloji i një objekti mund të merret me funksionin e integruar type().

i = 100
f = 1.23

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

isinstance(object, type)
Ky funksion i integruar mund të përdoret për të përcaktuar nëse një objekt është i një lloji të caktuar. Kjo mund të përdoret për të përcaktuar nëse një numër është një tip numër i plotë ose me pikë lundruese.

print(isinstance(i, int))
# True

print(isinstance(i, float))
# False

print(isinstance(f, int))
# False

print(isinstance(f, float))
# True

Në këtë rast, ai gjykon vetëm llojin, kështu që nuk mund të gjykojë nëse një vlerë e tipit float është një numër i plotë (me një pikë dhjetore 0) apo jo.

f_i = 100.0

print(type(f_i))
# <class 'float'>

print(isinstance(f_i, int))
# False

print(isinstance(f_i, float))
# True

Përcakton nëse një numër i tipit float është një numër i plotë (0 shifra dhjetore):float.is_integer()

Metoda is_integer() ofrohet për llojin float, i cili kthen true nëse vlera është numër i plotë dhe false ndryshe.

f = 1.23

print(f.is_integer())
# False

f_i = 100.0

print(f_i.is_integer())
# True

Për shembull, një funksion që kthen true për një numër të plotë mund të përcaktohet si më poshtë. Nga ana tjetër, një lloj vargu do të ishte false.

def is_integer_num(n):
    if isinstance(n, int):
        return True
    if isinstance(n, float):
        return n.is_integer()
    return False

print(is_integer_num(100))
# True

print(is_integer_num(1.23))
# False

print(is_integer_num(100.0))
# True

print(is_integer_num('100'))
# False

Përcakton nëse një varg numrash është një numër i plotë

Nëse dëshironi të përcaktoni se një varg shifrash të plotë është gjithashtu një numër i plotë, funksionet e mëposhtme janë të mundshme.

Për vlerat që mund të konvertohen në tip float me float(), metoda is_integer() zbatohet pas konvertimit në float dhe rezultati kthehet.

def is_integer(n):
    try:
        float(n)
    except ValueError:
        return False
    else:
        return float(n).is_integer()

print(is_integer(100))
# True

print(is_integer(100.0))
# True

print(is_integer(1.23))
# False

print(is_integer('100'))
# True

print(is_integer('100.0'))
# True

print(is_integer('1.23'))
# False

print(is_integer('string'))
# False

Shih artikullin vijues për detaje mbi konvertimin e vargjeve në numra.

Shih artikullin vijues për detaje mbi përcaktimin nëse një varg është një numër (përfshirë numrat kinezë, etj.).

Copied title and URL