问题描述

酒鬼漫步

在一条东西走向的大马路上,酒鬼所处的初始位置假定为原点,酒鬼随机向东(正向)或向西(反向)走一步。请使用所学的知识解决以下问题:

  • 1)酒鬼随机走了1000步,打印输出酒鬼的走步。(可假定-1为向西走,+1为向东走,如:-1,-1,1,-1,1,…-1)
  • 2)打印输出,酒鬼任意一次走完后距离原点的步数。(如:-1,-2,-1,-2,-1,0,1,2,1…46)
  • 3)打印输出,酒鬼最后距离原点的步数。
  • 4)打印输出,酒鬼正向走的最远步数。
  • 5)打印输出,酒鬼反向走的最远步数。
  • 6)计算酒鬼第一次距离原点5步的时候(可以是正向5步,也可以是反向5步)。此时酒鬼共走了多少步?

分析

题目非常的简单,看到题目中有一个要求是计算任意一次走完后的距离原点的步数,就是累积求和函数,可以使用numpy库的相关方法实现,所以我们使用numpy库函数。

代码实现

考虑到数据量的问题,这里以 100 步进行演示。

import numpy as np
# choice函数接收一个迭代对象和大小,这里选择100次
lt = np.random.choice([1, -1], 100)print('-----------------1.酒鬼的走步-------------------')
print(lt)
cum_sum = lt.cumsum()
print('--------2.酒鬼任意一次走完后距离原点的步数----------')
print(cum_sum)
su = lt.sum()
print('------------3.酒鬼最后距离原点的步数--------------')
print(su)
print('-------------4.酒鬼正向走的最远步数---------------')
# 返回的是下标,这里考虑到下标是从零开始的,所以加一
print(cum_sum.argmax() + 1)
print('-------------5.酒鬼反向走的最远步数---------------')
print(cum_sum.argmin() + 1)
count = 0
for i in cum_sum:count += 1if i == 5 or i == -5:break
print('--------6.第一次距离原点5步的时候走的步数-----------')
print(count)

执行结果:

Python:酒鬼漫步相关推荐

  1. Python大数据教程:科学计算库NumPy案例之酒鬼漫步

    通过前面对NumPy的学习,相信大家一定对NumPy这个科学计算包有了一定的了解,接下来,本节将通过酒鬼漫步的案例来介绍如何运用NumPy随机数模块与数据处理. 下面先为大家描述一下场景,在一片空旷的 ...

  2. 科学计算库NumPy案例:酒鬼漫步

    通过前面对NumPy的学习,相信大家一定对NumPy这个科学计算包有了一定的了解,接下来,本节将通过酒鬼漫步的案例来介绍如何运用NumPy随机数模块与数据处理. 下面先为大家描述一下场景,在一片空旷的 ...

  3. 酒鬼漫步详解(python)

    文章目录 题目概述 代码实现 代码内容解释 题目概述 在一个二维平面上,有一个酒鬼,它最初的位置视为原点,向前走为正数,向后走为负数,一共走了2000步,一步为0.5米 求: 酒鬼与原点的距离 酒鬼在 ...

  4. Numpy实现酒鬼漫步问题【以及randint()、where()、cumsum()、argmax()的用法详解】

    文章目录 题目描述 代码实现 关于本题涉及到的几个函数 randint() where() cumsum() 题目拓展 题目描述 代码实现 题目拓展 题目描述 代码实现 argmax() 题目描述 从 ...

  5. 利用numpy数据分析---酒鬼漫步

    1. 实验内容 在一片空旷的平地上,有一个酒鬼,他最初停留在原点的位置,这个酒鬼每走一步时,方向是不确定的,在经过时间t之后,我们希望计算出这个酒鬼与原点的距离. 这个酒鬼走了2000步(每步0.5米 ...

  6. 蒙特卡罗仿真(2):醉汉的随机漫步仿真示例(Python实现)

    目录 1. 前言 2. 为什么要做蒙特卡罗仿真? 3. 第一个仿真程序 4. 仿真封装及批量仿真 5. 醉汉能回家吗? 1. 前言 上一篇(蒙特卡罗仿真(1):入门求生指南(Python实例))通过几 ...

  7. python 数据分析学什么-数据分析培训学习多久?都学什么?

    数据分析培训学习多久?以博学谷的Python数据分析与应用课程为例,学习数据分析只要22课时.那么都学什么呢?内容大概包括了Python数据分析的相关知识.感兴趣的小伙伴可以一起来看看课程介绍. 1. ...

  8. 上海交大软件工程教授告诉我,python小白变大牛之路一定要看的书

    前言 小编这里有一本书,书名叫做<Python数据分析与应用:从数据获取到可视化>,出版社:中国铁道出版社,这本书是2019-03出版的,虽然是19年出版,已经有两年了,还是不影响他的可以 ...

  9. 从酒鬼失足到赌徒破产,悲剧收场为何注定

    很多看似不相关的事物,在背后却能有着相似的数学原理.它们之间的联系时常让人觉得诧异.比如酒鬼和赌徒背后就有着神奇的相同之处.本文从一个荒诞的酒鬼掉下悬崖的故事开始,最终讲述了在赌场里看上去违背常理的举 ...

最新文章

  1. Linux命令(40):watch命令
  2. 阿里云数据库产品HybridDB简介——OLAP数据库,支持行列混合存储,基于数据库Greenplum的开源版本,并且吸收PostgreSQL精髓...
  3. asp.net core Serilog的使用
  4. poj 1228 Grandpa's Estate 给定了一个凸包的部分顶点和边上的点,判断是否能唯一确定一个凸包...
  5. 设计原本 --- 批判理性模型
  6. Java CXF介绍与实例
  7. mysql 引擎 类型_MySQL(一)之存储引擎类型
  8. mysql math.max_Math.max.apply()用法
  9. Resnet-18-训练实验-warm up操作
  10. matlab struct 结构体
  11. linux定时任务打印日志,Centos7(linux)使用crond服务定时执行js脚本并将脚本的输出内容记录日志文件的简单应用...
  12. mongodb在ubuntu下无法打开的问题
  13. mysql读mdf_mdf文件如何导入MySQL数据库?
  14. 申请成为第三方支付公司的基本条件
  15. 聊聊iOS开发中耳机的那点事(监听耳机拔插、耳机线控)
  16. hbase日志报java.lang.ClassNotFoundException: org.apache.htrace.SamplerBuilder的错
  17. Kelvin Test
  18. 利用公交刷卡数据分析北京职住关系和通勤出行
  19. 这位年轻人,把CryptoPunks送给了无聊猿公司?B轮4个亿?
  20. 版本管理:RCS之命令基础篇

热门文章

  1. BAPI for BP Relationship Data Mass Maintenance (UKM_BP)
  2. 在OpenCV里实现导向滤波
  3. html添加轮盘,CSS+JS实现一个轮盘时钟
  4. 手机怎样跟wifi模块建立通讯?
  5. gopro 8 发布
  6. linux运行qsql,QSqlDatabase:未在Ubuntu 15.04 64位上加​​载QMYSQL驱动程序
  7. 西门子200恒压供水梯形图_西门子plc如何做恒压供水【实例】
  8. 学Java有前途吗?
  9. 在Word中如何直接计算加减乘除?
  10. 【调剂】中国计量科学研究院,电气、电子、测量、仪器、自动化、计算机类研究生调剂信息...