浏览器显示不安全网站建设,建造师报考条件,万网的成品网站,.网站建设课程设计文章目录题目描述代码实现关于本题涉及到的几个函数randint()where()cumsum()题目拓展题目描述代码实现题目拓展题目描述代码实现argmax()题目描述
从前有一个酒鬼#xff0c;喝醉了行走在一条直线上#xff0c;每走一步方向是不确定的#xff08;向前或者向后#xff09;…
文章目录题目描述代码实现关于本题涉及到的几个函数randint()where()cumsum()题目拓展题目描述代码实现题目拓展题目描述代码实现argmax()题目描述
从前有一个酒鬼喝醉了行走在一条直线上每走一步方向是不确定的向前或者向后当他走了2000步后试求终点距离原点的距离。 代码实现
# 酒鬼走了2000步终点和原点的距离
step 2000
draw np.random.randint(0, 2, sizestep) # 随机生成2000步
direction_step np.where(draw 0, 1, -1) # 向前走一步记作1向后走一步记作-1
distance direction_step.cumsum() # 使用cumsum()函数计算步数的累计和也就是距原点的距离
result distance[step - 1] # 用result保存终点距离原点的结果
if result 0:print(最终较之原点向前走了:, result, 步)
else:print(最终较之原点向后走了:, abs(result), 步)关于本题涉及到的几个函数
randint()
格式randint(low, highNone, sizeNone, dtypeNone)
作用从指定的dtype以“离散均匀”分布的方式在“前闭后开”的区间[ lowhigh )中返回随机整数。如果 high为None默认值则结果来自[0low。
例子 where()
格式where(condition, xNone, yNone)
也可写成where(condition, [x, y])作用Return elements chosen from x or y depending on condition.
简单来讲condition作为判断条件为True则产生x否则产生y
例子 cumsum()
cumsum是数组统计运算中的方法作用为计算所有元素的累计和格式cumsum(self, axisNone, dtypeNone, outNone)
作用Return the cumulative sum of the elements along the given axis.
人话就是根据所给轴——axis的值进行累计和计算
结合例子来看 根据上图我们可以知道axisNone时将数组平铺展开当成一维数组然后从第二个元素开始执行a[i]a[i]a[i-1]…a[0]i1的操作axis0时沿着行的方向垂直向下竖着加axis1时沿着列的方向水平延申横着加。
在cumsum的各个参数中axis决定了累加的方式而dtype决定了结果的数据类型而out则是放置结果的备用输出数组它的形状和缓冲区长度必须与预期的输出相同如有必要将强制转换类型当outNone时结果放置在当前数组中覆盖之前数组中的值。
PS:关于axis的详细解析请移步搞清axis的含义这一篇就够了 题目拓展
题目描述
在上一题的基础上我们要计算这个过程中酒鬼距原点最远的距离是多少代码实现
没什么难点主要就是要记得兼顾向前走和向后走两种情况避免忽略边缘值distancemax distance.max() # 向前走最远的距离
distancemin distance.min() # 向后走最远的距离
if abs(distancemin) distancemax:
# 由于向后走的距离是负数所以要取其绝对值与向前走的距离相比较print(整个过程中距离原点最远的距离是向前走了:, distancemax, 步)
else:print(整个过程中距离原点最远的距离是向后走了:, abs(distancemin), 步)题目拓展
题目描述
基于原始题目尝试计算当第一次距原点的距离大于等于20米时他总共走了多少步设每步步长1.5米代码实现
仍然是需要注意向后走、向前走两种情况steps 20 / 1.5 # 将距离20米转换为步数存储到steps中
walk (np.abs(distance) steps).argmax()
# (np.abs(distance) steps)返回的是一个布尔数组
# 故需要用argmax从满足条件的布尔数组中返回最大值的索引
print(当酒鬼走了, walk, 步时此时距离原点的长度是大于或者等于20米的)argmax()
格式argmax(a, axisNone, outNone)
作用Returns the indices of the maximum values along an axis.
说人话就是返回沿轴的最大值的索引。
用例子看可能更便于理解