计算数据集中所有电影的平均预算

2024-06-16 09:17:25 发布

您现在位置:Python中文网/ 问答频道 /正文

movies = [
     ("Titanic", 20000000),
     ("Dracula", 9000000),
     ("James Bond", 4500000),
     ("Pirates of the Caribbean: On Stranger Tides", 379000000),
     ("Avengers: Age of Ultron", 365000000),
     ("Avengers: Endgame", 356000000),
     ("Incredibles 2", 200000000)
 ]

要计算数据集中所有电影的平均预算。 有什么建议吗


Tags: oftheageonmoviesbondjamestitanic
3条回答

您可以使用accumulator变量来保存总和和for循环:

以下是一个例子:

movies = [
    ("Titanic", 20000000),
    ("Dracula", 9000000),
    ("James Bond", 4500000),
    ("Pirates of the Caribbean: On Stranger Tides", 379000000),
    ("Avengers: Age of Ultron", 365000000),
    ("Avengers: Endgame", 356000000),
    ("Incredibles 2", 200000000)
]

if __name__ == "__main__":
    # Declarative
    accumulator = 0
    for (_, budget) in movies:
        accumulator += budget
    print(accumulator / len(movies))

for语句中,我将这两个项从元组中展开为两个新变量:_budget。使用_声明不需要使用该变量是一种常见做法

最后一行打印平均值,计算方法是除以列表长度

假设movies是一个普通的Python列表,并且您希望以美元获得平均成本:

movies = [
     ("Titanic", 20000000),
     ("Dracula", 9000000),
     ("James Bond", 4500000),
     ("Pirates of the Caribbean: On Stranger Tides", 379000000),
     ("Avengers: Age of Ultron", 365000000),
     ("Avengers: Endgame", 356000000),
     ("Incredibles 2", 200000000)
 ]

totalCost = 0
totalMovies = 0

for movie, price in movies:
    totalCost += price
    totalMovies +=1
    
print (f"The average cost per movie is {totalCost/totalMovies:.2f}$")

{totalCost/totalMovies:.2f}在选择两个十进制值(.2f)的同时,使用Python F strings在线插入计算

希望一切都清楚

计算平均值的正常方法在这里是可行的。类似于

total = 0
for movie, budget in movies:
  total += budget

average = total / movies.length

我应该在这里为你表演

相关问题 更多 >