Python:酒鬼漫步
时间:2022-07-22
本文章向大家介绍Python:酒鬼漫步,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
问题描述
酒鬼漫步
在一条东西走向的大马路上,酒鬼所处的初始位置假定为原点,酒鬼随机向东(正向)或向西(反向)走一步。请使用所学的知识解决以下问题:
- 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 += 1
if i == 5 or i == -5:
break
print('--------6.第一次距离原点5步的时候走的步数-----------')
print(count)
执行结果:
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux 常用系统工作命令-reboot、poweroff、wget
- Node.js + Socket.io 实现一对一即时聊天
- Linux 常用系统工作命令-ps、top
- Python之LDA主题模型算法应用
- R语言highfrequency高频金融数据导入
- IIS配置优化
- R语言做复杂金融产品的几何布朗运动的模拟
- R语言数据的收益率和可能的波动性交易
- 哈希算法的设计要点及应用场景
- R语言通过WinBUGS对MGARCH和MSV模型进行贝叶斯估计和比较
- Spring Boot中使用 Swagger2 自动构建API文档
- dotNET:怎样处理程序中的异常(理论篇)?
- xmake从入门到精通12:通过自定义脚本实现更灵活地配置
- ggplot2火山图展示RNAseq差异表达分析结果
- 如何根据class_code筛选转录本?