我很抱歉如果我的問題似乎是新手,但我已經遇到了障礙,當涉及到基於python(2.7)中的元組的字符串分配變量。使用字符串定義變量與元組
在過去,我沒有任何問題分配一個變量並使用一個字符串給它一個名字(例如:rowId = '%sDays' %workoutMode
)。但在元組環境中,我遇到了一些問題。
我想從數據庫中提取三個不同的表格,並將相同的代碼應用於它們。在這種情況下,我想拉取數據並根據定義列表中的字符串打印數據。但我在基於字符串分配變量時遇到問題。這裏是我的代碼:
def workoutCycle():
catagories = 'Legs', 'Arms', 'Back'
for catagory in catagories:
conn = sqlite3.connect('workoutData.db')
c = conn.cursor()
c.execute ('SELECT round(%sDays, 1), round(%sDaysTotal, 1) FROM Profile_%s' %(catagory, catagory, catagory))
originalData = c.fetchall()
('%sDays' %catagory, '%sDaysTotal' %catagory) = tuple(originalData[0])
print originalData
print '%sDays' %catagory
print '%sDaysTotal' %catagory
此代碼返回:
SyntaxError: invalid syntax
我已經嘗試了不同的修改,我沒有運氣。有沒有特定的格式,我缺少的字符串/元組?
**********編輯**************
好像我也不是很清楚什麼,我試圖做的。本質上,我試圖創建一個循環來替換爲每個類別編寫代碼。因此,例如,我想打印有關「武器」中的數據,此代碼的工作:
def armCycle():
conn = sqlite3.connect('workoutData.db')
c = conn.cursor()
c.execute ('SELECT round(ArmsDays, 1), round(ArmsDaysTotal, 1) FROM Profile_Arms')
#originalData = c.fetchall()
originalData = c.fetchall()
(ArmsDays, ArmsDaysTotal) = tuple(originalData[0])
print originalData
print ArmsDays
print ArmsDaysTotal
我試圖創建一個代碼,不僅僅是創建爲每個產品類別的功能多了幾分動感。我相信我會以錯誤的方式去解決這個問題。我很抱歉,我是編程新手。
請包括完整的回溯。回溯幾乎可以肯定地顯示語法錯誤的位置。 –
'rowId ='%sDays'%workoutMode'正在給'rowId'變量賦值''%sDays'%workoutMode'的值,這裏你要做的是相反的,而不是有效的Python語法。檢查'setattr()'是否要動態創建變量。 – zwer
你試圖做什麼並不完全清楚。你爲什麼試圖像這樣定義一個元組? –