2012-07-24 78 views
0

我試圖在項目歐拉Problem 20,這是解決方案,我到目前爲止:Re.findall()不能把一個變量作爲自變量

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

你能解釋你爲什麼要嘗試使用正則表達式嗎?如果你想獲得每個數字,你可能更好使用[切片符號](http://docs.python.org/tutorial/introduction.html#strings) – ernie 2012-07-24 16:36:16

+0

我不知道太多的Python,我'有點小白:/謝謝你的提示:) – cjm 2012-07-24 16:39:04

+0

@ernie如果你不能在其上運行for循環,你如何將所有的字符變成列表? – cjm 2012-07-24 16:50:45

回答

4

這是不是變量與否。這是關於是否字符串。只需使參數成爲一個字符串。如果var1是一個整數,這很容易:

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

謝謝,它是公認的var1 :) – cjm 2012-07-24 16:37:54