Python тілінде санның бүтін немесе ондық екенін анықтау

Іскерлік

Python тілінде сан бүтін немесе ондық екенін анықтаңыз.

Келесі жағдайлар үлгі кодтарымен түсіндіріледі.

  • Санның бүтін сан немесе өзгермелі нүкте екенін анықтайды:isinstance()
  • Қалқымалы түрдегі сан бүтін сан екенін анықтайды (0 ондық таңба):float.is_integer()
  • Сан жолының бүтін сан екенін анықтайды

Ондық санның бүтін және ондық мәндерін алу үшін келесі мақаланы қараңыз.

Жол бүтін немесе ондық емес, сан (соның ішінде қытай сандары, т.б.) екенін анықтау туралы ақпаратты келесі мақаланы қараңыз.

Санның бүтін немесе өзгермелі нүкте түрі екенін анықтайды:isinstance()

Нысан түрін кірістірілген функция type() арқылы алуға болады.

i = 100
f = 1.23

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

isinstance(object, type)
Бұл кірістірілген функцияны нысанның белгілі бір түрге жататынын анықтау үшін пайдалануға болады. Бұл санның бүтін немесе өзгермелі нүкте түрі екенін анықтау үшін пайдаланылуы мүмкін.

print(isinstance(i, int))
# True

print(isinstance(i, float))
# False

print(isinstance(f, int))
# False

print(isinstance(f, float))
# True

Бұл жағдайда ол тек түрді бағалайды, сондықтан қалқымалы түр мәнінің бүтін сан (0 ондық бөлшекпен) немесе жоқ екенін анықтай алмайды.

f_i = 100.0

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

print(isinstance(f_i, int))
# False

print(isinstance(f_i, float))
# True

Қалқымалы түрдегі сан бүтін сан екенін анықтайды (0 ондық таңба):float.is_integer()

is_integer() әдісі мән бүтін болса, шын мәнін, ал басқа жағдайда жалған мәнін қайтаратын қалқымалы тип үшін берілген.

f = 1.23

print(f.is_integer())
# False

f_i = 100.0

print(f_i.is_integer())
# True

Мысалы, бүтін сан үшін шын мәнін қайтаратын функцияны келесідей анықтауға болады. Екінші жағынан, жол түрі жалған болады.

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

Сан жолының бүтін сан екенін анықтайды

Бүтін сандар тізбегі де бүтін сан екенін анықтағыңыз келсе, келесі функциялар мүмкін болады.

float() көмегімен float түріне түрлендіруге болатын мәндер үшін is_integer() әдісі float түріне түрлендіруден кейін қолданылады және нәтиже қайтарылады.

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

Жолдарды сандарға түрлендіру туралы мәліметтер алу үшін келесі мақаланы қараңыз.

Жолдың сан екенін анықтау үшін келесі мақаланы қараңыз (соның ішінде қытай сандары, т.б.).