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 } ]
源代码
变更日志
版本0.2.0
- 2017年9月27日。版本0.2.0,转换为pytest测试框架;覆盖率为100%。
- 2015年10月31日。最初的产品发布