我是Python的新手,我似乎无法弄清楚我要做什么的逻辑。我有11个清单。 10个列表包含汽车的品牌和型号,其次是每辆汽车的价值,然后是每个品牌/型号的汽车数量。第11个列表包含其他10个列表作为一个主列表。
我正在尝试在10个列表中的每一个中查找每辆汽车的价值和数量的乘积,然后对这10种产品求和以得出所有汽车总价值的总计,然后打印该价值进入屏幕。
到目前为止,我已经能够找到所需的索引值,将它们相乘,然后将它们分别打印到屏幕上。我添加了一个计数器变量,该变量试图随着每个计算出的乘积的值递增,直到循环结束,这时函数将停止并打印最终的求和值,但这仅是最终乘积的打印结果完全显示在屏幕上或其他号码上。
我将为上下文添加示例。
我当前的代码:
def totalValue(all):
print("Total Value")
x = 0
for x in range(0, len(all)):
i = (all[x][1])
q = (all[x][2])
iq = i * q
# qi = iq + iq
t = '${:,.2f}'.format(iq)
print(t)
return all
list0 = []
list1 = []
list2 = []
car1 = ["Chevy Bolt EV", 37495, 2]
car2 = ["Kia Niro", 24485, 23]
car3 = ["VW e-Golf", 32790, 12]
car4 = ["Hyundai Kona", 37495, 3]
car5 = ["Honda Insight", 23725, 4]
car6 = ["Chevrolet Volt", 34395, 14]
car7 = ["Hyundai Ioniq", 23285, 5]
car8 = ["Tesla Model 3", 45200, 1]
car9 = ["Audi e-tron", 75795, 2]
car10 = ["Toyota Prius", 24405, 12]
all = (car1, car2, car3, car4, car5, car6, car7, car8, car9, car10)
print()
totalValue(all)
我想发生的事情:
Total Value
$2,326,615.00
我现在所拥有的:
Total Value
$74,990.00
$563,155.00
$393,480.00
$112,485.00
$94,900.00
$481,530.00
$116,425.00
$45,200.00
$151,590.00
$292,860.00
我曾经认为它应该可以工作:
def totalValue(all):
print("Total Value")
x = 0
for x in range(0, len(all)):
i = (all[x][1])
q = (all[x][2])
iq = i * q
qi = iq + iq
t = '${:,.2f}'.format(qi)
print(t)
return all
但这导致了这一点:
Total Value
$585,720.00
我希望我的想法有意义。如果需要的话,我会澄清。我有一种感觉,我很想念一些明显的东西,但是我无法分辨是什么。
谢谢。
答案 0 :(得分:2)
我认为您在这里犯了一个错误:qi = iq + iq
,您可以尝试这样做:
def totalValue(all):
print("Total Value")
x = 0
qi = 0
for x in range(0, len(all)):
i = (all[x][1])
q = (all[x][2])
iq = i * q
qi += iq
t = '${:,.2f}'.format(qi)
print(t)
return all
,答案将为$2,326,615.00
或在此处使用sum
qi = sum(v[1] * v[2] for v in all)
print('${:,.2f}'.format(qi))
答案 1 :(得分:2)
遍历项目,每次将每辆汽车的(值X数量)加到总和上。然后,一旦循环结束并计算出总和,就将其打印出来。 代码:
def totalValue(all):
print("Total Value")
qi = 0
for x in range(0, len(all)):
qi += (all[x][1] * all[x][2])
print('${:,.2f}'.format(qi))
list0 = []
list1 = []
list2 = []
car1 = ["Chevy Bolt EV", 37495, 2]
car2 = ["Kia Niro", 24485, 23]
car3 = ["VW e-Golf", 32790, 12]
car4 = ["Hyundai Kona", 37495, 3]
car5 = ["Honda Insight", 23725, 4]
car6 = ["Chevrolet Volt", 34395, 14]
car7 = ["Hyundai Ioniq", 23285, 5]
car8 = ["Tesla Model 3", 45200, 1]
car9 = ["Audi e-tron", 75795, 2]
car10 = ["Toyota Prius", 24405, 12]
all = (car1, car2, car3, car4, car5, car6, car7, car8, car9, car10)
totalValue(all)
这有效。这段代码印有:
总价值
2,326,615.00美元