我想根据用户输入值创建表。
每个表最多有7列,第一列是行的名称。当用户输入9个值而不是7时,它应该创建具有两列的下一个表。然后到那些表格,我稍后在一些计算中给出了值。
我尝试了这段代码,但收到了错误
vr={}
num=0
for num in range(1,k):
print site_count
print 'num is',num
vr[str(num)]=document.add_table(rows=13, cols=(7))
print vr['1']
for num in range(1,k+1):
vr['num'].cell(1, 0).text='Subscribed BW'
vr['num'].cell(2, 0).text='Peak LAN'
vr['num'].cell(3, 0).text='Peak WAN-IN'
vr['num'].cell(4, 0).text='Peak WAN-OUT'
vr['num'].cell(5, 0).text='Recommended BW Capacity'
vr['num'].cell(7, 0).text='Peak Compression'
vr['num'].cell(9, 0).text='Optimized Traffic'
vr['num'].cell(10, 0).text='Optimized Traffic%'
vr['num'].cell(12, 0).text='Key Applications'
vr['num'].style ='TableGrid'
ERROR as: vr [' num']。cell(1,0).text ='已订阅的BW' KeyError:' num'
还有其他解决方案
答案 0 :(得分:1)
Key' num'在你的字典中不存在。
INSERT INTO drivers (name, comments, start_time, end_time) VALUES ('$name', '$comment', '$start', '$end') ON DUPLICATE KEY UPDATE comments='$comment', start_time='$start', end_time='$end'
此处vr[str(num)] = document.add_table(rows=13, cols=(7))
是整数num
。看起来你想将赋值放在第一个循环中。
在第二个循环中,您尝试分配到
k
尝试:
vr['num']
请注意,对于编号索引,您最好使用vr[str(num)]
或list
。
答案 1 :(得分:0)
首先要删除array
中num
周围的引号,因为字符vr['num']
不是dict "num"
中的键,您应该使用字符串值vr
:
num
但是,由于您只使用for num in range(1,k+1):
vr[str(num)].cell(1, 0).text='Subscribed BW'
vr[str('num')].cell(2, 0).text='Peak LAN'
...
作为dict的键,因此将其转换为字符串没有意义 - 您可以将其用作整数。
num
答案 2 :(得分:0)
不必要地尝试str(),尝试以下代码
vr = {}
num = 0
vr[num]=document.add_table(rows=13, cols=(7))
print vr['1']
for num in range(1,k+1):
vr[num].cell(1, 0).text='Subscribed BW'
vr[num].cell(2, 0).text='Peak LAN'
vr[num].cell(3, 0).text='Peak WAN-IN'
vr[num].cell(4, 0).text='Peak WAN-OUT'
vr[num].cell(5, 0).text='Recommended BW Capacity'
vr[num].cell(7, 0).text='Peak Compression'
vr[num].cell(9, 0).text='Optimized Traffic'
vr[num].cell(10, 0).text='Optimized Traffic%'
vr[num].cell(12, 0).text='Key Applications'
vr[num].style ='TableGrid'