Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีตรวจสอบว่า raw input เป็นจำนวนเต็มใน Python 3

มีเมธอด isdigit() ในคลาสสตริง ที่คืนค่า True หากทุกตัวอักษรในสตริงเป็นตัวเลขและมีอย่างน้อย 1 ตัว มิฉะนั้นคืน False แม้คุณจะป้อนทศนิยมก็จะคืน False เรียกใช้ได้ดังนี้:

>>> x = input()
12345
>>> x.isdigit()
True

ยังสามารถใช้ regex ได้ สำหรับจับคู่เฉพาะตัวเลข ใช้ re.match(regex, string) ด้วย regex: "^[0-9]+$" ตัวอย่าง:

>>> x = input()
123abc
>>> bool(re.match('^[0-9]+$', x))
False

re.match คืนออบเจกต์ ต้องแปลงเป็นบูลีนด้วย bool() เพื่อตรวจสอบว่ามีค่าหรือไม่