m26是一个python库,用于计算跑步和自行车等运动的速度和配速

m26的Python项目详细描述


M26-跑步、自行车和游泳等运动的计算

功能

  • 以英里、公里或码为单位创建距离
  • 将距离转换为其他度量单位。
  • 在“hh:mm:ss”字符串或int second值中指定elapsedtime。
  • 根据给定距离和经过的时间计算速度-每英里、每公里和每码。
  • 计算给定速度下每英里的速度和每英里的秒数。
  • 用一个简单或算法公式将一个速度投影到另一个距离。
  • RunwalkCalculator根据给定的时间间隔和速度计算速度和英里/小时。
  • 计算人的年龄和年龄分级次数。
  • 根据年龄计算五个标准心率训练区。

快速启动

安装:

$ pip install m26

使用:

>>> importm26>>> d1=m26.Distance(26.2)>>> d1<Distance value:26.2 uom:m>
>>> d1.as_miles()26.2
>>> d1.as_kilometers()42.1648128
>>> d1.as_yards()46112.0

>>> d2=m26.Distance(50.0,m26.Constants.uom_kilometers())>>> d2<Distance value:50.0 uom:k>

>>> d3=m26.Distance(7040,m26.Constants.uom_yards())>>> d3<Distance value:7040.0 uom:y>

>>> d4=m26.Distance(10.0,m26.Constants.uom_kilometers())>>> d4.add(d1)>>> d4<Distance value:52.1648128 uom:k>
>>> d4.subtract(d3)>>> d4<Distance value:45.7274368 uom:k>

>>> t1=m26.ElapsedTime('3:47:30')>>> t1<ElapsedTime hh:3.0 mm:47.0 ss:30.0 secs:13650.0>

>>> t2=m26.ElapsedTime(3662)>>> t2<ElapsedTime hh:1 mm:1 ss:2.0 secs:3662.0>

>>> s=m26.Speed(d1,t1)>>> s<Speed dist:<Distance value:26.2 uom:m> etime:<ElapsedTime hh:3.0 mm:47.0 ss:30.0 secs:13650.0>>

>>> s.mph()6.90989010989011

>>> s.kph()11.120390189010989

>>> s.yph()12161.406593406595

>>> s.seconds_per_mile()520.9923664122138

>>> s.pace_per_mile()'8:40.99'

>>> s.projected_time(d2,'simple')'04:29:46'

>>> s.projected_time(d2,'riegel')'04:32:32'

>>> result=m26.RunWalkCalculator.calculate('2:30','9:16','0:45','17:00',31.0)>>> result{
  "avg_mph": 5.4292343387471,
  "avg_ppm": "11:03.07",
  "miles": 31.0,
  "proj_miles": 31.0,
  "proj_time": "05:42:35",
  "run_hhmmss": "2:30",
  "run_ppm": "9:16",
  "walk_hhmmss": "0:45",
  "walk_ppm": "17:00"
}

>>> a=m26.AgeCalculator.calculate('1960-10-01','2015-10-18')>>> a<Age value:55.044490075290895>

>>> a2=m26.Age(58.1)>>> a2<Age value:58.1>

>>> graded=s.age_graded(a,a2)>>> graded<Speed dist:<Distance value:26.2 uom:m> etime:<ElapsedTime hh:3 mm:51 ss:47.61402391772026 secs:13907.61402391772>>

>>> zones=a2.training_zones()>>> zones[
  {
    "age": 58.1,
    "max": 161.9,
    "pct_max": 0.95,
    "pulse": 153.805,
    "zone": 1
  },
  {
    "age": 58.1,
    "max": 161.9,
    "pct_max": 0.9,
    "pulse": 145.71,
    "zone": 2
  },
  {
    "age": 58.1,
    "max": 161.9,
    "pct_max": 0.85,
    "pulse": 137.615,
    "zone": 3
  },
  {
    "age": 58.1,
    "max": 161.9,
    "pct_max": 0.8,
    "pulse": 129.52,
    "zone": 4
  },
  {
    "age": 58.1,
    "max": 161.9,
    "pct_max": 0.75,
    "pulse": 121.42500000000001,
    "zone": 5
  }
]

源代码

m26-py at GitHub

变更日志

版本0.2.0

  • 2017年9月27日。版本0.2.0,转换为pytest测试框架;覆盖率为100%。
  • 2015年10月31日。最初的产品发布

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
servlets Java EE+GlassFish:如果用户在其他地方登录,则强制用户注销   java在不更改源代码的情况下添加钩子   安卓 Java TextView Onclick()返回表达式错误   java Excel文件未使用Apache存储内部内存   java getRowCount()和getSelectedColumn()不起作用   无法在java中生成视图绑定。util。Android Gradle插件2.1的NoTouchElementException   Java中的类型转换运算符百分比计算为零   主java中的调用方法   java在Javasound中播放多个示例   java如何知道webDriver成功打开URL   java jmock,每次调用时返回新对象   eclipse使用Java在Selenium WebDriver中生成可执行文件   macos捆绑Java OS X应用程序默认为MacRoman编码   java我应该把我的休息网关变成一个图书馆吗?   java Eclipse插件:查找包含子字符串的行号无效   Java IOException:在Linux上发送UDP数据包时没有可用的缓冲区空间   java无法解析jaxbxjc2中的名称“xjc:globalJavaType”。2.52.罐子   java是否有HibernateAPI来检查是否创建了数据库?