用Python做一个简易健身运动程序
最近在做一些运动,昨天晚上在抖音上看见了一套燃脂的视频。
视频的内容讲述的内容是每组动作做多少个。
现在网上也是各种的减肥动作
那么问题来了,在运动时可能会因为太累而不会自己去数自己做了多少个动作
那么就需要写一个程序来告诉我门每组动作,做多少个,下一个动作该做什么。
今天就用Python来实现一个简易的运动程序,实现运动自由!
实现简易的运动播报功能以及简易的动作计数播报功能。
需求拆分
首先先确定数据的结构,健身运动的数据结构是每组运动做多少个动作,那么我们可以使用字典来规定这种数据结构。
将运动项作为key,需要做多少个动作作为value来存放在一个字典当中
然后我们只需要写循环来遍历这个字典,在循环中在写一个循环根据运动项的次数来计数即可完成运动计数
导入
import pyttsx3
import time
这里使用pyttsx3这个库来进行语音播报。
pyttsx3
pyttsx3是一个能让Python开口说话的库,pyttsx3通过初始化来获取语音引擎。当我们第一次调用init操作的时候,会返回一个pyttsx3的engine对象,再次调用的时候,如果存在engine对象实例,就会使用现有的,否则再重新创建一个。
pyttsx3属于第三方模块,如果你还未进行安装可以先安装这个库。
pip install pyttsx3
定义模型类
class Sports():def __init__(self, sports, speed):sports = sportsspeed = speed@staticmethoddef say(content):engine = pyttsx3.init()engine.say(content)engine.runAndWait()@staticmethoddef doSport():for key, value in sports.items():index = list(sports).index(key) + 1# 如果是最后一个动作,播报:加油加油,最后一个动作啦~if index == len(sports):Sports.say('加油~加油~,最后一个动作啦!')print('加油~加油~,最后一个动作啦!')result = f'第{index}个动作:{key},一组{value}秒'print(f'\r{result}', end='\n')Sports.say(result)# 每做完一个动作,让用户休息3秒钟for i in [3, 2, 1, '开始~']:print(f'\r{i}', end='')Sports.say(i)time.sleep(speed)for i in range(1, value + 1):print(f'\r{i}', end='')Sports.say(i)time.sleep(speed)# 运动结束end = '运动结束,放松一下吧~'Sports.say(end)
有了运动模型类,我们就可以复用这个类啦,比如有n套健身运动,我们只需要实例化n个类就可以复用这个类了。
语音播报:
@staticmethoddef say(content):engine = pyttsx3.init()engine.say(content)engine.runAndWait()
运动方法:
@staticmethoddef doSport():for key, value in sports.items():index = list(sports).index(key) + 1# 如果是最后一个动作,播报:加油加油,最后一个动作啦~if index == len(sports):Sports.say('加油~加油~,最后一个动作啦!')print('加油~加油~,最后一个动作啦!')result = f'第{index}个动作:{key},一组{value}秒'print(f'\r{result}', end='\n')Sports.say(result)# 每做完一个动作,让用户休息3秒钟for i in [3, 2, 1, '开始~']:print(f'\r{i}', end='')Sports.say(i)time.sleep(speed)for i in range(1, value + 1):print(f'\r{i}', end='')Sports.say(i)time.sleep(speed)# 运动结束end = '运动结束,放松一下吧~'Sports.say(end)
有了类模型,下面对类进行实例化,先传入4个动作来热热身吧~
if __name__ == '__main__':sports = {'开合跳1': 30,'原地深蹲': 15,'高抬腿': 30,'胯下击掌': 15,}speed = 0.02 # 速度spor = Sports(sports, speed)spor.doSport()
用Python做一个简易健身运动程序相关推荐
- python发音机器人_只需三步,菜鸟也能用Python做一个简易版Siri
原标题:只需三步,菜鸟也能用Python做一个简易版Siri 当下,各个手机厂商都陆续的推出了属于自己的智能手机机器人,像是苹果的Siri,小米的小爱,还有等等.这些智能机器人不仅仅方便了我们对于手机 ...
- python测试抽奖脚本_使用 Python 写一个简易的抽奖程序
不知道有多少人是被这个头图骗进来的:) 事情的起因是这样的,上周有同学问小编,看着小编的示例代码敲代码,感觉自己也会写了,如果不看的话,七七八八可能也写的出来,但是一旦自己独立写一段程序,感觉到无从下 ...
- 【新手向】Python做一个简易登录注册GUI界面(无事件绑定)
Python做一个简易登录注册GUI界面 一,效果展示 (1)运行结果: (2)点击登录: 注:只有用户名:123 密码123456 会提示登录成功. 登录成功示范: 登录失败示范: (3)点击注册 ...
- 使用python编写一个简易的打折程序
使用python编写一个简易的打折程序
- 如何用 Python 写一个简易的抽奖程序
不知道有多少人是被这个头图骗进来的:) 事情的起因是这样的,上周有同学问小编,看着小编的示例代码敲代码,感觉自己也会写了,如果不看的话,七七八八可能也写的出来,但是一旦自己独立写一段程序,感觉到无从下 ...
- 怎么用python制作简单的程序-如何用 Python 写一个简易的抽奖程序
不知道有多少人是被这个头图骗进来的:) 事情的起因是这样的,上周有同学问小编,看着小编的示例代码敲代码,感觉自己也会写了,如果不看的话,七七八八可能也写的出来,但是一旦自己独立写一段程序,感觉到无从下 ...
- 用Python做一个简单的表白程序
我最近在看了一本Python tkinter从入门到精通,看了四章了,前面四章主要就是讲部件的共同属性,控件的布局,窗口的属性设置,于是利用这些做了个简单的程序,我将这个程序打包成了执行文件,放在了百 ...
- 用Python制作一个简易的抽奖程序
分析需求 我们先整理下思路,目标是什么? 目标是要写一个抽奖程序,那么抽奖程序的核心是什么? 当然是如何判断一个人中奖了.那么如何判断一个人中奖呢? 是不是可以通过随机函数来操作呢? 中奖方法 一步一 ...
- Python做一个简单的抽奖程序
今天刚上班,女朋友给我来了个需求,她需要一个抽奖程序,需求如下: 1.要一个抽奖程序,输入为很多图片,输出为随机选出几张符合要求的图片 2.简单快速,不用界面也行,她早上就要 我只是一个小小的码农,怎 ...
最新文章
- email util demo
- python学习环境安装_python学习系列----环境的安装
- Linux 2.6.32-279.el6.x86_64 ANDROID SDK碰到”LIBC.SO.6: VERSION `GLIBC_2.14′ NOT FOUND”的解决方法(2)
- 从人工智能到云,英特尔开源技术推动软件栈创新
- iOS - Base64转图片图片转Base64
- PHP基础2--基本语法
- php底层开发框架, yaf,swoole,hiphop
- sqlserver中where条件加判断
- html5 postMessage解决跨域、跨窗口消息传递[转载]
- “能耗大户”数据中心供配电系统
- 90 亿美元的“Java 第一版权案”终落幕:谷歌胜!
- Java中的网络编程
- [转]新建一个Android工程项目
- linux断开网络的命令,Linux常用网络命令总结
- java读取txt文件内容
- POP3 SMTP 协议分析
- html刮刮乐百分比,jQuery+html5实现彩票刮刮乐效果
- Word中将数字和字母一次替换
- 工作记录 --01 验证证件号合法性!
- pytorch实现yolov4_v2(网络模块)