因此,当尝试从子列表中打印出值时,标题出现错误
for record in data:
(product_id, name, price) = record
accumulator = 0
order_items = ''
if 'order_1' in form:
print('<tr><td>%s</td><td>%s</td>' % (name[0], price[0]))
accumulator += int(price[0])
order_items += 'item 1 (check menu), '
我只希望输出是这些值的打印,而在累加器变量上加上任何帮助,将不胜感激。
答案 0 :(得分:0)
原因是这部分:
product_id
您可能希望name
,price
和data
是与data
中的子集合相对应的“列”,但这不是它的工作方式。取而代之的是,它们只采用data
中最后一个子集合g的值。
您需要类似的内容,它将product_id, name, price = zip(*data)
变成嵌套的集合,其中每个子集合都可以视为一个单独的列:
product_id = []
name = []
price = []
for record in data:
product_id.append(record[0])
name.append(record[1])
price.append(record[2])
等效迭代:
format
除我建议的一项更正外,其余代码应能正常工作。与其使用C样式格式,不如使用f字符串(Python> = 3.6)或output = f'<tr><td>{name[0]}</td><td>{price[0]}</td>' # Python >= 3.6
output = '<tr><td>{}</td><td>{}</td>'.format(name[0], price[0]) # others
方法格式:
{{1}}