Re.findall()不能将变量作为参数

时间:2012-07-24 16:31:44

标签: python regex python-2.7

我在Project Euler上尝试Problem 20,这是我到目前为止的解决方案:

import re
mylist = []
var1 = 100
def exclamation(n, L):
    for n in xrange(1, (n)):
        L.append(n)
        n -= 1
    print L
def multiply(L, V):
    while len(L) > 0:
        V = L.pop(-1) * V
    print V
exclamation(100, mylist)
multiply(mylist, var1)
print mylist
list1 = re.findall('.', var1)
print list1

然而,re.findall只接受字符串,我想知道是否有其他东西做了相同的工作或转义字符告诉它它是一个变量。

我已经尝试在它前面添加一个“/”以及我认为我在python文档中找到的“/ escape”,但它没有用。

1 个答案:

答案 0 :(得分:4)

这不是关于它是否是变量。它是否是字符串。只需将参数设为字符串即可。如果var1是一个int,这很容易:

re.findall('.', str(var1))