ការ​កំណត់​ថា​ចំនួន​ជា​ចំនួន​គត់​ឬ​ទសភាគ​ក្នុង Python

អាជីវកម្ម

កំណត់ថាតើលេខជាចំនួនគត់ ឬទសភាគនៅក្នុង Python ។

ករណីខាងក្រោមត្រូវបានពន្យល់ដោយលេខកូដគំរូ។

  • កំណត់ថាតើលេខមួយគឺជាចំនួនគត់ int ឬអណ្តែតចំណុចអណ្តែត:isinstance()
  • កំណត់ថាតើលេខប្រភេទអណ្តែតគឺជាចំនួនគត់ (0 ខ្ទង់ទសភាគ):float.is_integer()
  • កំណត់ថាតើខ្សែអក្សរលេខជាចំនួនគត់

ដើម្បីទទួលបានចំនួនគត់ និងតម្លៃទសភាគនៃចំនួនទសភាគ សូមមើលអត្ថបទខាងក្រោម។

សូមមើលអត្ថបទខាងក្រោមសម្រាប់ព័ត៌មានស្តីពីការកំណត់ថាតើខ្សែអក្សរជាលេខ (រួមទាំងលេខចិន។ល។) ជាជាងថាតើវាជាចំនួនគត់ ឬទសភាគ។

កំណត់ថាតើលេខជាចំនួនគត់ ឬប្រភេទចំណុចអណ្តែត:isinstance()

ប្រភេទនៃវត្ថុមួយអាចទទួលបានជាមួយនឹងប្រភេទមុខងារដែលភ្ជាប់មកជាមួយ()។

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() វិធីសាស្ត្រ is_integer() ត្រូវបានអនុវត្តបន្ទាប់ពីការបំប្លែងទៅជាអណ្តែត ហើយលទ្ធផលត្រូវបានត្រលប់មកវិញ។

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

សូមមើលអត្ថបទខាងក្រោមសម្រាប់ព័ត៌មានលម្អិតអំពីការបំប្លែងខ្សែអក្សរទៅជាលេខ។

សូមមើលអត្ថបទខាងក្រោមសម្រាប់ព័ត៌មានលម្អិតអំពីការកំណត់ថាតើខ្សែអក្សរជាលេខ (រួមទាំងលេខចិន។ល។)។

Copied title and URL