Python-da ədədin tam və ya onluq olduğunu müəyyən etmək

Biznes

Python-da ədədin tam və ya onluq olduğunu müəyyənləşdirin.

Aşağıdakı hallar nümunə kodlarla izah olunur.

  • Ədədin int və ya üzən nöqtəli float olduğunu müəyyən edir:isinstance()
  • Float tipli nömrənin tam ədəd olub olmadığını müəyyən edir (0 onluq yer):float.is_integer()
  • Rəqəm sətirinin tam ədəd olub-olmadığını müəyyən edir

Onluq ədədin tam və onluq qiymətlərini əldə etmək üçün aşağıdakı məqaləyə baxın.

Sətin tam və ya onluq deyil, bir ədəd (o cümlədən Çin rəqəmləri və s.) olub-olmadığını müəyyən etmək üçün aşağıdakı məqaləyə baxın.

Ədədin tam və ya üzən nöqtə növü olduğunu müəyyən edir:isinstance()

Obyektin tipini daxili funksiya type() ilə əldə etmək olar.

i = 100
f = 1.23

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

isinstance(object, type)
Bu daxili funksiya obyektin müəyyən bir növ olub olmadığını müəyyən etmək üçün istifadə edilə bilər. Bu, nömrənin tam və ya üzən nöqtə növü olduğunu müəyyən etmək üçün istifadə edilə bilər.

print(isinstance(i, int))
# True

print(isinstance(i, float))
# False

print(isinstance(f, int))
# False

print(isinstance(f, float))
# True

Bu halda, o, yalnız növü mühakimə edir, ona görə də float növü dəyərinin tam ədəd olub-olmadığını (0 onluq nöqtəsi ilə) və ya olmadığını mühakimə edə bilməz.

f_i = 100.0

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

print(isinstance(f_i, int))
# False

print(isinstance(f_i, float))
# True

Float tipli nömrənin tam ədəd olub olmadığını müəyyən edir (0 onluq yer):float.is_integer()

is_integer() metodu float növü üçün nəzərdə tutulub, əgər dəyər tam ədəddirsə, doğru, əks halda isə false qaytarır.

f = 1.23

print(f.is_integer())
# False

f_i = 100.0

print(f_i.is_integer())
# True

Məsələn, tam ədəd üçün doğru qaytaran funksiya aşağıdakı kimi müəyyən edilə bilər. Digər tərəfdən, sətir tipi yalan olacaq.

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

Rəqəm sətirinin tam ədəd olub-olmadığını müəyyən edir

Tam rəqəmlər sətirinin də tam ədəd olduğunu müəyyən etmək istəyirsinizsə, aşağıdakı funksiyalar mümkündür.

float() ilə float tipinə çevrilə bilən dəyərlər üçün is_integer() metodu float-a çevrildikdən sonra tətbiq edilir və nəticə qaytarılır.

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

Sətirləri rəqəmlərə çevirmək haqqında ətraflı məlumat üçün aşağıdakı məqaləyə baxın.

Sətin ədəd olub-olmadığını müəyyən etmək üçün (Çin rəqəmləri və s. daxil olmaqla) təfərrüatlar üçün aşağıdakı məqaləyə baxın.

Copied title and URL