一、综合练习题(教材第29页)
1.“大润发“、"沃尔玛“、“好德”和“农工商”四个超市都卖苹果、香蕉、橘子和芒果四种水果。使用 NumPy 的 ndarray 实现以下功能。
- 创建两个一维数组分别存储超市名称和水果名称。
- 创建一个 4x4 的二维数组存储不同超市的水果价格,其中价格由 4~10 范围内的随机数生成。
- 选择“大润发”的苹果和“好德”的香蕉,并将价格增加 1 元。
- “农工商”水果大减价,所有水果价格减 2 元。
- 统计四个超市苹果和芒果的销售均价。
- 找出橘子价格最贵的超市名称(不是编号)。
2.基于 2.3 节中随机游走的例子,使用 ndarray 和随机数生成函数模拟一个物体在三维空间随机游走的过程。
- 创建 3x10 的二维数组,记录物体每步在三个轴向上的移动距离。在每个轴向的移动距离服从标准正态分布(期望为 o, 方差为 1) 。行序 0 、1 、2 分别对应 x 轴、 y 轴和z 轴。
- 计算每步走完后物体在三维空间的位置。
- 计算每步走完后物体到原点的距离(只显示两位小数)。
- 统计物体在 z 轴上到达的最远距离。
- 统计物体在三维空间距离原点的最近值。
【提示】使用 abs()绝对值函数对 z 轴每步运动后的位置求绝对值,然后求最大距离。
二、参考答案
第一题:
import numpy as np
# 1.创建两个一维数组分别存储超市名称和水果名称。
shops = np.array(['DaRunFa','Walmart','HaoDe','NongGongShang'])
fruits = np.array(['apple','banana','orange','mango'])
# 2.创建一个 4x4 的二维数组存储不同超市的水果价格,其中价格由 4~10 范围内的随机数生成。
prices = np.random.randint(4,10,16).reshape(4,4)
# 3.选择“大润发”的苹果和“好德”的香蕉,并将价格增加 1 元。
prices[shops == 'DaRunFa',fruits == 'apple'] += 1
print('the price of apple in DaRunFa now: %d'

最低0.47元/天 解锁文章
1889

被折叠的 条评论
为什么被折叠?



