ਪਾਈਥਨ ਇਹ ਨਿਰਧਾਰਤ ਕਰਨ ਅਤੇ ਜਾਂਚ ਕਰਨ ਲਈ ਕਈ ਸਤਰ ਵਿਧੀਆਂ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਇੱਕ ਸਟ੍ਰਿੰਗ ਕਿਸਮ ਸੰਖਿਆਤਮਕ ਹੈ ਜਾਂ ਵਰਣਮਾਲਾ।
ਹਰੇਕ ਵਿਧੀ ਨੂੰ ਨਮੂਨਾ ਕੋਡ ਨਾਲ ਸਮਝਾਇਆ ਗਿਆ ਹੈ।
- ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਇੱਕ ਸਟ੍ਰਿੰਗ ਇੱਕ ਦਸ਼ਮਲਵ ਅੰਕ ਹੈ:
str.isdecimal()
- ਇਹ ਨਿਰਧਾਰਤ ਕਰਨਾ ਕਿ ਕੀ ਇੱਕ ਸਤਰ ਇੱਕ ਸੰਖਿਆ ਹੈ:
str.isdigit()
- ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਇੱਕ ਸਟ੍ਰਿੰਗ ਇੱਕ ਅੱਖਰ ਹੈ ਜੋ ਕਿਸੇ ਸੰਖਿਆ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ:
str.isnumeric()
- ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਸਤਰ ਵਰਣਮਾਲਾ ਹੈ:
str.isalpha()
- ਪਤਾ ਕਰੋ ਕਿ ਕੀ ਸਤਰ ਅੱਖਰ ਅੰਕੀ ਹੈ:
str.isalnum()
- ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਸਤਰ ASCII ਅੱਖਰ ਹਨ:
str.isascii()
- ਖਾਲੀ ਸਤਰ ਦਾ ਨਿਰਣਾ
- ਪਤਾ ਕਰੋ ਕਿ ਕੀ ਸਤਰ ਨੂੰ ਸੰਖਿਆਵਾਂ ਵਿੱਚ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ
isascii() ਤੋਂ ਇਲਾਵਾ ਹੋਰ ਤਰੀਕਿਆਂ ਲਈ, ਇੱਕ ਖਾਲੀ ਸਤਰ ਵਾਲੀ ਇੱਕ ਸਤਰ, ਹੇਠਾਂ ਦਿੱਤੇ ਚਿੰਨ੍ਹ, ਆਦਿ, ਗਲਤ ਹੈ।
,
.
-
-1.23, ਆਦਿ, ਇੱਕ ਸੰਖਿਆਤਮਕ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਇਸ ਭਾਗ ਦੇ ਅੰਤ ਵਿੱਚ ਵਿਆਖਿਆ ਕੀਤੀ ਗਈ ਹੈ।
ਨਿਯਮਤ ਸਮੀਕਰਨਾਂ ਦੀ ਵਰਤੋਂ ਅੱਖਰ ਕਿਸਮਾਂ ਨੂੰ ਵਧੇਰੇ ਲਚਕਦਾਰ ਢੰਗ ਨਾਲ ਨਿਰਧਾਰਤ ਕਰਨ ਅਤੇ ਸੰਬੰਧਿਤ ਅੱਖਰ ਕਿਸਮਾਂ ਨੂੰ ਕੱਢਣ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।
ਹੇਠ ਲਿਖਿਆਂ ਨੂੰ ਕਿਵੇਂ ਨਿਰਧਾਰਤ ਕਰਨਾ ਹੈ ਇਸ ਬਾਰੇ ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ ਹੇਠਾਂ ਦਿੱਤਾ ਲੇਖ ਦੇਖੋ
- ਇੱਕ ਸੰਖਿਆਤਮਕ ਸਤਰ (str) ਨੂੰ ਇੱਕ ਸੰਖਿਆ (ਇੰਟ, ਫਲੋਟ) ਵਿੱਚ ਕਿਵੇਂ ਬਦਲਿਆ ਜਾਵੇ
- ਵੱਡੇ ਅਤੇ ਹੇਠਲੇ ਕੇਸ ਨੂੰ ਕਿਵੇਂ ਨਿਰਧਾਰਤ ਕਰਨਾ ਹੈ
- ਸੰਬੰਧਿਤ:ਪਾਈਥਨ ਵਿੱਚ ਸੰਖਿਆਵਾਂ ਦੀ ਇੱਕ ਸਤਰ ਨੂੰ ਸੰਖਿਆਤਮਕ ਮੁੱਲਾਂ ਵਿੱਚ ਬਦਲਣਾ
- ਸੰਬੰਧਿਤ:ਪਾਈਥਨ ਵਿੱਚ ਕੇਸ ਨੂੰ ਹੇਰਾਫੇਰੀ ਕਰਨ ਲਈ ਸਤਰ ਵਿਧੀਆਂ ਦੀ ਸੂਚੀ
- ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਇੱਕ ਸਟ੍ਰਿੰਗ ਇੱਕ ਦਸ਼ਮਲਵ ਅੰਕ ਹੈ:str.isdecimal()
- ਇਹ ਨਿਰਧਾਰਤ ਕਰਨਾ ਕਿ ਕੀ ਇੱਕ ਸਤਰ ਇੱਕ ਸੰਖਿਆ ਹੈ:str.isdigit()
- ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਇੱਕ ਸਟ੍ਰਿੰਗ ਇੱਕ ਅੱਖਰ ਹੈ ਜੋ ਕਿਸੇ ਸੰਖਿਆ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ:str.isnumeric()
- ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਸਤਰ ਵਰਣਮਾਲਾ ਹੈ:str.isalpha()
- ਪਤਾ ਕਰੋ ਕਿ ਕੀ ਸਤਰ ਅੱਖਰ ਅੰਕੀ ਹੈ:str.isalnum()
- ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਸਤਰ ASCII ਅੱਖਰ ਹਨ:str.isascii()
- ਖਾਲੀ ਸਤਰ ਦਾ ਨਿਰਣਾ
- ਪਤਾ ਕਰੋ ਕਿ ਕੀ ਸਤਰ ਨੂੰ ਸੰਖਿਆਵਾਂ ਵਿੱਚ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ
ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਇੱਕ ਸਟ੍ਰਿੰਗ ਇੱਕ ਦਸ਼ਮਲਵ ਅੰਕ ਹੈ:str.isdecimal()
isdecimal() ਵਿੱਚ, ਇਹ ਸੱਚ ਹੈ ਜੇਕਰ ਸਾਰੇ ਅੱਖਰ ਦਸ਼ਮਲਵ ਅੰਕ ਹਨ, ਯਾਨੀ ਯੂਨੀਕੋਡ ਦੀ ਆਮ ਸ਼੍ਰੇਣੀ Nd ਵਿੱਚ ਅੱਖਰ। ਇਹ ਪੂਰੀ ਚੌੜਾਈ ਵਾਲੇ ਅਰਬੀ ਅੰਕਾਂ ਆਦਿ ਲਈ ਵੀ ਸੱਚ ਹੈ।
s = '1234567890'
print('s =', s)
print('isdecimal:', s.isdecimal())
print('isdigit:', s.isdigit())
print('isnumeric:', s.isnumeric())
# s = 1234567890
# isdecimal: True
# isdigit: True
# isnumeric: True
s = '1234567890'
print('s =', s)
print('isdecimal:', s.isdecimal())
print('isdigit:', s.isdigit())
print('isnumeric:', s.isnumeric())
# s = 1234567890
# isdecimal: True
# isdigit: True
# isnumeric: True
ਜੇਕਰ ਇਸ ਵਿੱਚ ਕੋਈ ਪ੍ਰਤੀਕ ਹੈ ਜਿਵੇਂ ਕਿ ਘਟਾਓ ਚਿੰਨ੍ਹ ਜਾਂ ਮਿਆਦ, ਇਹ ਗਲਤ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਤੁਸੀਂ ਇਹ ਨਿਰਧਾਰਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਇੱਕ ਸਤਰ ਜਿਵੇਂ ਕਿ ‘-1.23’ ਇੱਕ ਸੰਖਿਆਤਮਕ ਮੁੱਲ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਅਪਵਾਦ ਹੈਂਡਲਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ। ਇਹ ਇਸ ਭਾਗ ਦੇ ਅੰਤ ਵਿੱਚ ਸਮਝਾਇਆ ਗਿਆ ਹੈ.
s = '-1.23'
print('s =', s)
print('isdecimal:', s.isdecimal())
print('isdigit:', s.isdigit())
print('isnumeric:', s.isnumeric())
# s = -1.23
# isdecimal: False
# isdigit: False
# isnumeric: False
ਇਹ ਨਿਰਧਾਰਤ ਕਰਨਾ ਕਿ ਕੀ ਇੱਕ ਸਤਰ ਇੱਕ ਸੰਖਿਆ ਹੈ:str.isdigit()
isdigit(), ਅੰਕਾਂ ਤੋਂ ਇਲਾਵਾ ਜੋ isdecimal() ਵਿੱਚ ਸਹੀ ਹਨ, ਉਹ ਸੰਖਿਆਵਾਂ ਜਿਨ੍ਹਾਂ ਦਾ ਯੂਨੀਕੋਡ ਵਿਸ਼ੇਸ਼ਤਾ ਮੁੱਲ Numeric_Type ਅੰਕ ਜਾਂ ਦਸ਼ਮਲਵ ਹੈ, ਵੀ ਸਹੀ ਹਨ।
ਉਦਾਹਰਨ ਲਈ, ਇੱਕ ਵਰਗ ਨੂੰ ਦਰਸਾਉਂਦੀ ਇੱਕ ਸੁਪਰਸਕ੍ਰਿਪਟ ਨੰਬਰ isdecimal() ਵਿੱਚ ਗਲਤ ਹੈ ਪਰ isdigit() ਵਿੱਚ ਸਹੀ ਹੈ।
- ਵਰਗ ਨੂੰ ਦਰਸਾਉਂਦਾ ਸੁਪਰਸਕ੍ਰਿਪਟ ਨੰਬਰ
- ²
- \u00B2}’
s = '10\u00B2'
print('s =', s)
print('isdecimal:', s.isdecimal())
print('isdigit:', s.isdigit())
print('isnumeric:', s.isnumeric())
# s = 10²
# isdecimal: False
# isdigit: True
# isnumeric: True
ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਇੱਕ ਸਟ੍ਰਿੰਗ ਇੱਕ ਅੱਖਰ ਹੈ ਜੋ ਕਿਸੇ ਸੰਖਿਆ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ:str.isnumeric()
isnumeric(), ਸੰਖਿਆਵਾਂ ਤੋਂ ਇਲਾਵਾ ਜੋ isdigit() ਵਿੱਚ ਸਹੀ ਹਨ, ਉਹ ਸੰਖਿਆਵਾਂ ਜਿਨ੍ਹਾਂ ਦੀ ਯੂਨੀਕੋਡ ਵਿਸ਼ੇਸ਼ਤਾ ਮੁੱਲ Numeric_Type ਸੰਖਿਆਤਮਕ ਹੈ ਵੀ ਸੱਚ ਹਨ।
ਭਿੰਨਾਂ, ਰੋਮਨ ਅੰਕਾਂ, ਅਤੇ ਚੀਨੀ ਸੰਖਿਆਵਾਂ ਵੀ ਸੱਚ ਹਨ।
s = '\u00BD'
print('s =', s)
print('isdecimal:', s.isdecimal())
print('isdigit:', s.isdigit())
print('isnumeric:', s.isnumeric())
# s = ½
# isdecimal: False
# isdigit: False
# isnumeric: True
s = '\u2166'
print('s =', s)
print('isdecimal:', s.isdecimal())
print('isdigit:', s.isdigit())
print('isnumeric:', s.isnumeric())
# s = Ⅶ
# isdecimal: False
# isdigit: False
# isnumeric: True
s = '一二三四五六七八九〇'
print('s =', s)
print('isdecimal:', s.isdecimal())
print('isdigit:', s.isdigit())
print('isnumeric:', s.isnumeric())
# s = 一二三四五六七八九〇
# isdecimal: False
# isdigit: False
# isnumeric: True
s = '壱億参阡萬'
print('s =', s)
print('isdecimal:', s.isdecimal())
print('isdigit:', s.isdigit())
print('isnumeric:', s.isnumeric())
# s = 壱億参阡萬
# isdecimal: False
# isdigit: False
# isnumeric: True
ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਸਤਰ ਵਰਣਮਾਲਾ ਹੈ:str.isalpha()
isalpha(), ਵਿੱਚ ਇੱਕ ਯੂਨੀਕੋਡ ਜਨਰਲ ਸ਼੍ਰੇਣੀ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ ਹੇਠ ਲਿਖਿਆਂ ਵਿੱਚੋਂ ਇੱਕ ਸੱਚ ਹੈ।
Lm
Lt
Lu
Ll
Lo
ਵਰਣਮਾਲਾ, ਚੀਨੀ ਅੱਖਰ, ਆਦਿ ਸੱਚ ਹੋਣਗੇ।
s = 'abc'
print('s =', s)
print('isalpha:', s.isalpha())
# s = abc
# isalpha: True
s = '漢字'
print('s =', s)
print('isalpha:', s.isalpha())
# s = 漢字
# isalpha: True
ਅਰਬੀ ਅੰਕ ਝੂਠੇ ਹਨ, ਪਰ ਚੀਨੀ ਅੰਕ ਸੱਚ ਹਨ ਕਿਉਂਕਿ ਇਹ ਚੀਨੀ ਅੱਖਰ ਵੀ ਹਨ; ਹਾਲਾਂਕਿ, ਚੀਨੀ ਅੰਕਾਂ ਵਿੱਚ ਜ਼ੀਰੋ ਗਲਤ ਹਨ।
s = '1234567890'
print('s =', s)
print('isalpha:', s.isalpha())
# s = 1234567890
# isalpha: False
s = '1234567890'
print('s =', s)
print('isalpha:', s.isalpha())
# s = 1234567890
# isalpha: False
s = '一二三四五六七八九'
print('s =', s)
print('isalpha:', s.isalpha())
# s = 一二三四五六七八九
# isalpha: True
s = '壱億参阡萬'
print('s =', s)
print('isalpha:', s.isalpha())
# s = 壱億参阡萬
# isalpha: True
s = '〇'
print('s =', s)
print('isalpha:', s.isalpha())
# s = 〇
# isalpha: False
ਰੋਮਨ ਅੰਕ ਗਲਤ ਹਨ।
s = '\u2166'
print('s =', s)
print('isalpha:', s.isalpha())
# s = Ⅶ
# isalpha: False
ਪਤਾ ਕਰੋ ਕਿ ਕੀ ਸਤਰ ਅੱਖਰ ਅੰਕੀ ਹੈ:str.isalnum()
isalnum(), ਵਿੱਚ ਇਹ ਸੱਚ ਹੈ ਜੇਕਰ ਹਰੇਕ ਅੱਖਰ ਹੁਣ ਤੱਕ ਸੂਚੀਬੱਧ ਹੇਠਾਂ ਦਿੱਤੇ ਕਿਸੇ ਵੀ ਢੰਗ ਵਿੱਚ ਸਹੀ ਹੈ।
isdecimal()
isdigit()
isnumeric()
isalpha()
ਹਰੇਕ ਅੱਖਰ ਦਾ ਵੱਖਰੇ ਤੌਰ ‘ਤੇ ਮੁਲਾਂਕਣ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਇਸਲਈ ਅੱਖਰਾਂ ਅਤੇ ਸੰਖਿਆਵਾਂ ਵਾਲੀ ਇੱਕ ਸਤਰ isalnum() ਵਿੱਚ ਸਹੀ ਹੋਵੇਗੀ ਭਾਵੇਂ ਹੋਰ ਸਾਰੀਆਂ ਵਿਧੀਆਂ ਵਿੱਚ ਗਲਤ ਹੋਵੇ।
s = 'abc123'
print('s =', s)
print('isalnum:', s.isalnum())
print('isalpha:', s.isalpha())
print('isdecimal:', s.isdecimal())
print('isdigit:', s.isdigit())
print('isnumeric:', s.isnumeric())
# s = abc123
# isalnum: True
# isalpha: False
# isdecimal: False
# isdigit: False
# isnumeric: False
ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਸਤਰ ASCII ਅੱਖਰ ਹਨ:str.isascii()
ਪਾਈਥਨ 3.7 ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ isascii(). ਜੇਕਰ ਸਤਰ ਦੇ ਸਾਰੇ ਅੱਖਰ ASCII ਅੱਖਰ ਹਨ ਤਾਂ ਇਹ ਸਹੀ ਵਾਪਸ ਆਉਂਦਾ ਹੈ।
ਸੰਖਿਆਵਾਂ ਅਤੇ ਅੱਖਰਾਂ ਤੋਂ ਇਲਾਵਾ, + ਅਤੇ – ਵਰਗੇ ਚਿੰਨ੍ਹ ਵੀ ਸਹੀ ਹਨ।
s = 'abc123+-,.&'
print('s =', s)
print('isascii:', s.isascii())
print('isalnum:', s.isalnum())
# s = abc123+-,.&
# isascii: True
# isalnum: False
ਗੈਰ-ASCII ਹਿਰਗਾਨਾ ਅਤੇ ਹੋਰ ਅੱਖਰ ਝੂਠੇ ਹਨ।
s = 'あいうえお'
print('s =', s)
print('isascii:', s.isascii())
print('isalnum:', s.isalnum())
# s = あいうえお
# isascii: False
# isalnum: True
ਜਿਵੇਂ ਕਿ ਅਸੀਂ ਅੱਗੇ ਦੇਖਾਂਗੇ, ਹੋਰ ਵਿਧੀਆਂ ਦੇ ਉਲਟ, isascii() ਖਾਲੀ ਸਟ੍ਰਿੰਗ ਲਈ ਵੀ ਸਹੀ ਵਾਪਸੀ ਕਰਦਾ ਹੈ।
ਖਾਲੀ ਸਤਰ ਦਾ ਨਿਰਣਾ
ਇੱਕ ਖਾਲੀ ਸਤਰ isascii() ਲਈ ਸਹੀ ਹੈ ਅਤੇ ਹੋਰ ਤਰੀਕਿਆਂ ਲਈ ਗਲਤ ਹੈ।
s = ''
print('s =', s)
print('isalnum:', s.isalnum())
print('isalpha:', s.isalpha())
print('isdecimal:', s.isdecimal())
print('isdigit:', s.isdigit())
print('isnumeric:', s.isnumeric())
print('isascii:', s.isascii())
# s =
# isalnum: False
# isalpha: False
# isdecimal: False
# isdigit: False
# isnumeric: False
# isascii: True
ਇਹ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ bool() ਦੀ ਵਰਤੋਂ ਕਰੋ ਕਿ ਕੀ ਇਹ ਇੱਕ ਖਾਲੀ ਸਤਰ ਹੈ। ਵਾਪਸੀ ਦਾ ਮੁੱਲ ਇੱਕ ਖਾਲੀ ਸਤਰ ਲਈ ਗਲਤ ਹੈ ਅਤੇ ਨਹੀਂ ਤਾਂ ਸਹੀ ਹੈ।
print(bool(''))
# False
print(bool('abc123'))
# True
ਪਤਾ ਕਰੋ ਕਿ ਕੀ ਸਤਰ ਨੂੰ ਸੰਖਿਆਵਾਂ ਵਿੱਚ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ
ਨੈਗੇਟਿਵ ਜਾਂ ਫਰੈਕਸ਼ਨਲ ਵੈਲਯੂ ਸਤਰ ਵਿੱਚ ਪੀਰੀਅਡ ਜਾਂ ਘਟਾਓ ਦੇ ਚਿੰਨ੍ਹ ਹੁੰਦੇ ਹਨ। ਇਸਲਈ, ਨਤੀਜਾ isascii() ਨੂੰ ਛੱਡ ਕੇ ਸਾਰੀਆਂ ਵਿਧੀਆਂ ਲਈ ਗਲਤ ਹੈ।
ਹਾਲਾਂਕਿ isascii() ਲਈ ਸਹੀ ਹੈ, ਇਹ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਢੁਕਵਾਂ ਨਹੀਂ ਹੈ ਕਿ ਕੀ ਇੱਕ ਸਟ੍ਰਿੰਗ ਨੂੰ ਇੱਕ ਸੰਖਿਆਤਮਕ ਮੁੱਲ ਵਿੱਚ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਸੱਚ ਹੈ ਭਾਵੇਂ ਇਸ ਵਿੱਚ ਹੋਰ ਚਿੰਨ੍ਹ ਜਾਂ ਵਰਣਮਾਲਾ ਦੇ ਅੱਖਰ ਹੋਣ।
s = '-1.23'
print('s =', s)
print('isalnum:', s.isalnum())
print('isalpha:', s.isalpha())
print('isdecimal:', s.isdecimal())
print('isdigit:', s.isdigit())
print('isnumeric:', s.isnumeric())
print('isascii:', s.isascii())
# s = -1.23
# isalnum: False
# isalpha: False
# isdecimal: False
# isdigit: False
# isnumeric: False
# isascii: True
ਸਟ੍ਰਿੰਗਸ ਨੂੰ ਫਲੋਟਿੰਗ ਪੁਆਇੰਟ ਨੰਬਰਾਂ ਵਿੱਚ ਫਲੋਟ() ਨਾਲ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਉਹਨਾਂ ਸਤਰਾਂ ਲਈ ਤਰੁੱਟੀ ਜਿਹਨਾਂ ਨੂੰ ਬਦਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ।
print(float('-1.23'))
# -1.23
print(type(float('-1.23')))
# <class 'float'>
# print(float('abc'))
# ValueError: could not convert string to float: 'abc'
ਅਪਵਾਦ ਹੈਂਡਲਿੰਗ ਦੇ ਨਾਲ, ਇੱਕ ਫੰਕਸ਼ਨ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਜੋ ਸਹੀ ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਜਦੋਂ ਇੱਕ ਸਤਰ ਨੂੰ ਫਲੋਟ() ਨਾਲ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ।
def is_num(s):
try:
float(s)
except ValueError:
return False
else:
return True
print(is_num('123'))
# True
print(is_num('-1.23'))
# True
print(is_num('+1.23e10'))
# True
print(is_num('abc'))
# False
print(is_num('10,000,000'))
# False
ਜੇਕਰ ਤੁਸੀਂ ਇਹ ਨਿਰਧਾਰਿਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਇੱਕ ਕਾਮੇ ਨਾਲ ਵੱਖ ਕੀਤਾ ਨੰਬਰ ਵੀ ਸਹੀ ਹੈ, ਤਾਂ ਕਾਮਾ ਨੂੰ ਹਟਾਉਣ ਲਈ replace() ਦੀ ਵਰਤੋਂ ਕਰੋ (ਇਸ ਨੂੰ ਖਾਲੀ ਸਤਰ ਨਾਲ ਬਦਲੋ)।
def is_num_delimiter(s):
try:
float(s.replace(',', ''))
except ValueError:
return False
else:
return True
print(is_num_delimiter('10,000,000'))
# True
ਜੇਕਰ ਤੁਸੀਂ ਵ੍ਹਾਈਟਸਪੇਸ ਹੱਦਬੰਦੀ ਦਾ ਸਮਰਥਨ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਅੱਗੇ ਬਦਲੋ() ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ।
def is_num_delimiter2(s):
try:
float(s.replace(',', '').replace(' ', ''))
except ValueError:
return False
else:
return True
print(is_num_delimiter2('10,000,000'))
# True
print(is_num_delimiter2('10 000 000'))
# True