python实战练习做一个随机点名的程序

作者:Master WHY 时间:2022-06-16 07:42:31 

用python做一个简单的随机点名程序(不重复点名)

这是我来到csdn的第一篇文章,内容如果有瑕疵的地方或者代码可以进一步改善,请大家对我指点一二。谢谢!废话不多说,上代码!


import random               #导入随机模块
import pyttsx3              #导入第三方语音模块
listen = pyttsx3.init()     #初始化一个变量

txt_path = input('请输入txt文件的path:')#使用者输入名单文件的路径(名单文件为txt,一行只能有一个姓名,姓名必须在行首不能有空格)
txt = open(f'{txt_path}','r',encoding='utf-8')#打开名单文件
name_list = []#创建空列表用于存储名单
for i in txt:#for循环遍历
   i = i.replace('\n','')#处理字符串将换行符去掉
   name_list.append(i)#添加到姓名列表里

print(name_list)#打印名单

txt.close()#关闭名单文件

while True:#永真无限循环
   if len(name_list) == 0:#当名单里所有人都被点到过一次时结束
       print('结束')
       break
   r_num = random.randint(0, len(name_list) - 1)#创建随机数
   a = input('输入b退出,其他值继续:')#让用户选择继续点名还是退出点名
   if a == 'b':#当用户输入b退出即退出
       print('结束')
       break
   else:#否则就开始随机点名
       print(f'本次被点到名的是:{name_list[r_num]}')
       listen.say(f'{name_list[r_num]}')#输出姓名语音
       listen.runAndWait()#运行语言
       name_list.pop(r_num)#将点过名的去除掉以防重复
       print()#间隔作用

将代码分割成四部分

一、导入模块

需要两个模块,一个内置模块一个第三方模块分别是:random、pyttsx3(这个是第三放模块,需要安装).


import random
import pyttsx3

二、用户输入名单文件,并且用程序加工一下


txt_path = input('请输入txt文件的path:')#使用者输入名单文件的路径(名单文件为txt,一行只能有一个姓名,姓名必须在行首不能有空格)
txt = open(f'{txt_path}','r',encoding='utf-8')#打开名单文件
name_list = []#创建空列表用于存储名单
for i in txt:#for循环遍历
   i = i.replace('\n','')#处理字符串将换行符去掉
   name_list.append(i)#添加到姓名列表里

print(name_list)#打印名单

txt.close()

用户要输入名单文件的路径例如

python实战练习做一个随机点名的程序

这时我们运行一下程序,将名单的路径输入看看效果

python实战练习做一个随机点名的程序

python实战练习做一个随机点名的程序

三、使用pyttsx3模块


listen = pyttsx3.init()
listen.say('输出语音')
listen.runAndWait()     #开始输出语音

注意pyttsx3模块是要自己下载的,下载方式就是在cmd里输入pip install pyttsx3这个命令即可

python实战练习做一个随机点名的程序

四、随机开始


while True:#永真无限循环
   if len(name_list) == 0:#当名单里所有人都被点到过一次时结束
       print('结束')
       break
   r_num = random.randint(0, len(name_list) - 1)#创建随机数
   a = input('输入b退出,其他值继续:')#让用户选择继续点名还是退出点名
   if a == 'b':#当用户输入b退出即退出
       print('结束')
       break
   else:#否则就开始随机点名
       print(f'本次被点到名的是:{name_list[r_num]}')
       listen.say(f'{name_list[r_num]}')#输出姓名语音
       listen.runAndWait()#运行语言
       name_list.pop(r_num)#将点过名的去除掉以防重复
       print()#间隔作用

随机点名是根据创建随机数然后名单根据随机数索引来达到随机的效果。。。

这就是我做的一个简单的随机点名程序。本人是一名初学者,如果代码有问题或者可以改进请大家指点出来,谢谢!

来源:https://blog.csdn.net/m0_53482319/article/details/120623245

标签:Python,随机点名,实战
0
投稿

猜你喜欢

  • python类中的self和变量用法及说明

    2022-05-27 10:33:12
  • JavaScript 页面编码与浏览器类型判断代码

    2024-04-08 10:54:03
  • Python的Django框架中使用SQLAlchemy操作数据库的教程

    2021-10-28 11:41:09
  • linux 部署apache服务的步骤

    2022-11-28 02:59:16
  • 分析在Python中何种情况下需要使用断言

    2022-01-03 12:36:44
  • 使用tensorflow进行音乐类型的分类

    2021-02-22 16:58:31
  • nodejs的错误处理过程记录

    2024-05-02 17:37:19
  • Python多分支if语句的使用

    2022-07-17 17:52:54
  • SQL分页查询存储过程代码分享

    2024-01-12 23:51:04
  • Python加载文件内容的两种实现方式

    2023-09-01 03:17:14
  • JS控件ASP.NET的treeview控件全选或者取消(示例代码)

    2024-06-23 17:53:53
  • js和jquery判断数据类型的4种方法总结

    2023-08-25 08:49:18
  • 获取django框架orm query执行的sql语句实现方法分析

    2021-06-08 08:37:41
  • Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】

    2022-07-06 16:40:59
  • ASP模拟MVC模型的编程方式

    2008-10-15 14:51:00
  • php 中phar包的使用教程详解

    2024-03-16 15:38:48
  • python3实现Dijkstra算法最短路径的实现

    2023-10-14 13:17:40
  • 采用memcache在web集群中实现session的同步会话

    2023-10-01 22:26:37
  • ASP 中 DateDiff 函数详解

    2007-09-19 12:00:00
  • NopCommerce架构分析之(八)多语言支持

    2024-05-13 09:15:53
  • asp之家 网络编程 m.aspxhome.com