Python 检查 4 位数字

Jef*_*efa 2 python

import string
import math
def fourDigit():
    num = raw_input("Enter a 4 digit number: ")
    if (len(num) == 4 and string.digits == True):
        some = int(int(val[1]) + int(val[3]))
        print("The sum of the 1st and second term is: ")
    else:
       print("Error!")
Run Code Online (Sandbox Code Playgroud)

所以在这个函数中我指定数字必须是4位数字并且字符串必须有数字。即使我输入 1234 它也会打印错误。

Sha*_*ger 7

string.digits是一个字符串,"0123456789". string.digits == True是无意义的,并且保证总是返回False

如果您想确保输入的所有字符都是数字,请执行以下操作:

if len(num) == 4 and num.isdigit():
Run Code Online (Sandbox Code Playgroud)

如果您确实想string.digits出于某种原因使用它,正确使用它的较慢的方法将是:

if len(num) == 4 and all(c in string.digits for c in num):
Run Code Online (Sandbox Code Playgroud)