我编写了一个代码,我遇到的唯一问题是断言函数语法。对于函数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
答案 0 :(得分:0)
检查b是否为2
到37
范围内的整数:
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"