措辞断言python中的函数难度

时间:2013-11-21 20:12:43

标签: python-3.x

我编写了一个代码,我遇到的唯一问题是断言函数语法。对于函数great(s,b)b必须在(2,37)范围内,s必须是字符串。同时我需要声明s只包含数字0-9,字母a-z.(点)。

def great(s,b):
       assert b in range(2,37) and type(s)==str

2 个答案:

答案 0 :(得分:0)

检查b是否为237范围内的整数:

assert isinstance(b, int) and 2 <= b <= 37

s是一个字符串(for python 3

assert isinstance(s, str)

要检查固定数量的符号,可以使用regular expression

import re
allowed_re = re.compile('^[0-9a-z.]*$')
assert allowed_re.match(s) 

答案 1 :(得分:-1)

需要的错误信息,断言链接,http://www.tutorialspoint.com/python/assertions_in_python.htm

def great(s,b):
        assert ((b in range(2,37)) and (type(s)==str)), "error happens"