x = WAIT100MS
subroutines = ["WAIT"+str(range(1,256))+"MS"]
if x in subroutines:
print "success"
else:
print "invalid"
我正在尝试创建一段代码,如果 WAITXMS
介于 1
和 255
之间,它将被接受,否则将不会。
range() 函数只生成一个列表,所以我想我可以使用
"".join("WAIT"+str(range(1,256))+"MS")
,
以 x
之类的字符串结尾。
但是,将 join()
函数与 range()
一起使用似乎并没有像我期望的那样工作,而是像 一样正常地给了我一个列表”等待 [1,2,3,4,...]MS"
。我该怎么办?
最佳答案
我想你想要这样的东西:
''.join("WAIT%dMS"%i for i in range(1,256))
我认为这是一个更好的方法:
def accept_string(s):
try:
i = int(s[4:-2])
except ValueError:
return False
return s.startswith('WAIT') and s.endswith('MS') and (1 <= i < 256)
关于Python:使用 range() 和 "".join(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14146050/