ආදානය පහත පරිදි විය හැකිය:
a="50"
b=50
c=50.1
d="50.1"
1-සාමාන්ය ආදානය:
මෙම ශ්රිතයේ ආදානය සියල්ල විය හැකිය!
දී ඇති විචල්යය සංඛ්යාත්මකද යන්න සොයා ගනී. සංඛ්යාත්මක නූල් විකල්ප ලකුණ, ඉලක්කම් ගණන, විකල්ප දශම කොටස සහ විකල්ප on ාතීය කොටසකින් සමන්විත වේ. මේ අනුව + 0123.45e6 වලංගු සංඛ්යාත්මක අගයකි. ෂඩාස්රාකාර (උදා: 0xf4c3b00c) සහ ද්විමය (උදා: 0b10100111001) අංකනය සඳහා අවසර නැත.
is_numeric ශ්රිතය
import ast
import numbers
def is_numeric(obj):
if isinstance(obj, numbers.Number):
return True
elif isinstance(obj, str):
nodes = list(ast.walk(ast.parse(obj)))[1:]
if not isinstance(nodes[0], ast.Expr):
return False
if not isinstance(nodes[-1], ast.Num):
return False
nodes = nodes[1:-1]
for i in range(len(nodes)):
#if used + or - in digit :
if i % 2 == 0:
if not isinstance(nodes[i], ast.UnaryOp):
return False
else:
if not isinstance(nodes[i], (ast.USub, ast.UAdd)):
return False
return True
else:
return False
පරීක්ෂණය:
>>> is_numeric("54")
True
>>> is_numeric("54.545")
True
>>> is_numeric("0x45")
True
is_float ශ්රිතය
දී ඇති විචල්යය පාවෙන දැයි සොයා ගනී. පාවෙන නූල් විකල්ප ලකුණකින්, ඉලක්කම් ගණනකින් සමන්විත වේ, ...
import ast
def is_float(obj):
if isinstance(obj, float):
return True
if isinstance(obj, int):
return False
elif isinstance(obj, str):
nodes = list(ast.walk(ast.parse(obj)))[1:]
if not isinstance(nodes[0], ast.Expr):
return False
if not isinstance(nodes[-1], ast.Num):
return False
if not isinstance(nodes[-1].n, float):
return False
nodes = nodes[1:-1]
for i in range(len(nodes)):
if i % 2 == 0:
if not isinstance(nodes[i], ast.UnaryOp):
return False
else:
if not isinstance(nodes[i], (ast.USub, ast.UAdd)):
return False
return True
else:
return False
පරීක්ෂණය:
>>> is_float("5.4")
True
>>> is_float("5")
False
>>> is_float(5)
False
>>> is_float("5")
False
>>> is_float("+5.4")
True
තාරකා යනු කුමක්ද?
2- ඔබ විචල්ය අන්තර්ගතයට තිබෙන බව අපට විශ්වාස නම් , සංගීත :
භාවිතා str.isdigit () ක්රමය
>>> a=454
>>> a.isdigit()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'int' object has no attribute 'isdigit'
>>> a="454"
>>> a.isdigit()
True
3-සංඛ්යාත්මක ආදානය:
int අගය හඳුනා ගන්න:
>>> isinstance("54", int)
False
>>> isinstance(54, int)
True
>>>
පාවෙන හඳුනාගැනීම:
>>> isinstance("45.1", float)
False
>>> isinstance(45.1, float)
True