Input Integer Check करना (Python 3)
String Class में isdigit() नामक एक Method होता है जो True Return करता है यदि String में सभी Characters Digits हैं और कम से कम एक Character है, अन्यथा False। यहां तक कि यदि आप Float Input करते हैं, तो यह False Return करेगा।
उदाहरण: isdigit() का उपयोग
>>> x = input() 12345 >>> x.isdigit() True >>> x = input() 123.45 >>> x.isdigit() False >>> x = input() -123 >>> x.isdigit() False
Note: Python 3 में raw_input() को input() से Replace कर दिया गया है।
Regex का उपयोग:
केवल Digits Match करने के लिए, हम re.match(regex, string) को Regex "^[0-9]+$" के साथ Call कर सकते हैं।
>>> import re
>>> x = input()
123abc
>>> bool(re.match('^[0-9]+$', x))
False
re.match Object Return करता है, यह Check करने के लिए कि यह Exist करता है या नहीं, हमें bool() का उपयोग करके Boolean में Convert करना होगा।
Complete Integer Validation (Negative Numbers के साथ):
import re
def is_integer(s):
"""Check if String Represents Valid Integer (Positive/Negative)"""
return bool(re.match(r'^-?\d+$', s))
print(is_integer("123")) # True
print(is_integer("-123")) # True
print(is_integer("+123")) # False (Plus Sign नहीं Handle करता)
print(is_integer("12.3")) # False
print(is_integer("abc")) # False
Better Version (Plus Sign के साथ):
def is_integer(s):
return bool(re.match(r'^[+-]?\d+$', s))
Try/Except Approach (सबसे Robust):
def is_integer(s):
try:
int(s)
return True
except ValueError:
return False