python - 查找相乘列表索引的总和
问题描述
我是 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
我希望我想要的东西是有意义的。如果需要,我会澄清任何事情。我有一种感觉,我错过了一些相当明显的东西,但我不知道它是什么。
提前致谢。
解决方案
我认为你在这里犯了一个错误: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))
推荐阅读
- reactjs - 如何停止在特定页面上显示导航栏,例如 Reactjs 中的 404 错误页面?
- python-3.x - 在正则表达式中使用 OR (|) 函数
- java - Eclipse IDE 无法启动
- vuejs2 - VueJS 2:使用 VueX 管理递归组件
- python - 无法使用 open() 读取隐藏文件
- regex - 从字符串中删除所有引号 (REGEXREPLACE)
- c - 使用 openSSL 的 tcp 服务器/客户端
- c# - 简单的注入器,.NET Core 3.1,上下文对象的短生命周期
- graphql - GraphQL:Apollo 客户端缓存如何工作以保持与服务器的数据一致性?
- rust - Rust 宏:大括号和带括号的宏体有什么区别?