Menu
CoddyTech

对整个数组进行运算

本课属于 Coddy Machine Learning 学习旅程的“数据与图表”单元。第 10 课,共 60 课。

一家商店售出了三种商品,数量分别是 3、1 和 2。要用列表找出每种商品赚了多少钱,需要使用循环。数组可以将对应的值配对:

三行单元格:价格 4、10、25 位于售出数量 3、1、2 的上方,下方是赚取的金额 12、10、50,每个金额都是上方两个单元格中的数值相乘所得

在代码中:

prices = np.array([4, 10, 25])
sold = np.array([3, 1, 2])
print(prices * sold)
print(prices * 2)

这会输出:

[12 10 50]
[ 8 20 50]

一个数就能作用于每个值:prices * 2 会将它们全部加倍。这就是逐元素运算:不需要循环,也不需要索引。

+、-、/ 和 ** 也一样。除法的结果总是小数。

学完本章后,这样的代码行就能为整个班级评分。

challenge icon

挑战

简单

一名跑步者记录了三次跑步。程序将每次跑步的距离读入 km,将用时读入 minutes。不要使用循环:

  1. 创建 meters:将每次跑步的距离换算为米(1 km 是 1000 m)。
  2. 创建 pace:计算每次跑步每公里用时,即用时除以距离。
  3. 像下面这样,在对应标签后输出两个数组。

如果三次跑步的距离分别是 5、10 和 4 km,用时分别是 30、55 和 26 分钟:

Meters: [ 5000 10000  4000]
Minutes per km: [6.  5.5 6.5]

亲手试试

import numpy as np

km = np.array([int(input()), int(input()), int(input())])
minutes = np.array([int(input()), int(input()), int(input())])

# 在下面编写你的代码
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

数据与图表中的所有课

自己练习: Python 在线编译器