2013-11-21 49 views
0

我寫了一個代碼,唯一的問題是assert函數語法。對於功能great(s,b)b必須在範圍(2,37)s必須是一個字符串。同時,我需要聲明s僅包含數字0-9,字母a-z.(點)。措辭在python中聲明函數的難度

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

回答

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) 
+0

我不明白的最後一部分。什麼是重新?有沒有更簡單的方法? – user2751595

+0

@ user2751595是的,添加鏈接到文檔 – alko

+0

@ user2751595是的,還有其他的,我只是沒有py3在手,並且無法檢查'translate'的確切語法。 – alko