我很抱歉如果我的问题似乎是新手,但我已经遇到了障碍,当涉及到基于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
你试图做什么并不完全清楚。你为什么试图像这样定义一个元组? –