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

 更新时间:2021年10月19日 16:17:36   作者:Master WHY  
读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用Python实现一个随机点名的程序,大家可以在过程中查缺补漏,提升水平

用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()

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

D:\名单文件夹\名单1.txt 就是我自己写的名单的路径

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

我们发现程序将名单以列表的形式打印出来了,然后提示我输入b退出随机点名,输入其他值开始随机点名

这个是名单的格式,一定要按照这样的格式去写名单!

三、使用pyttsx3模块

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

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

这是下载图片

四、随机开始

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()								#间隔作用

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

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

到此这篇关于python实战练习做一个随机点名的程序的文章就介绍到这了,更多相关python 随机点名内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python第三方Window模块文件的几种安装方法

    Python第三方Window模块文件的几种安装方法

    这篇文章主要介绍了Python第三方Window模块文件安装方法,需要的朋友可以参考下
    2018-11-11
  • 基于Python函数和变量名解析

    基于Python函数和变量名解析

    今天小编就为大家分享一篇基于Python函数和变量名解析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python之re模块案例详解

    Python之re模块案例详解

    这篇文章主要介绍了Python之re模块案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • 总结分析Python的5个硬核函数

    总结分析Python的5个硬核函数

    今天看到一篇很好的 Python 博文,结合自己的经验总结,分享给大家一篇关于eval, exec, compile, locals, globals这些函数的文章
    2021-11-11
  • 使用批处理脚本自动生成并上传NuGet包(操作方法)

    使用批处理脚本自动生成并上传NuGet包(操作方法)

    这篇文章主要介绍了使用批处理脚本自动生成并上传NuGet包的操作方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • 深入分析Python中Lambda函数的用法

    深入分析Python中Lambda函数的用法

    lambda函数是Python中常用的内置函数,又称为匿名函数。和普通函数相比,它只有函数体,省略了def和return,使得结构看起来更精简。本文将详细说说Lambda函数的用法,需要的可以参考一下
    2022-12-12
  • 在Python中操作文件之read()方法的使用教程

    在Python中操作文件之read()方法的使用教程

    这篇文章主要介绍了在Python中操作文件之read()方法的使用教程,是Python入门学习中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Pandas DataFrame求差集的示例代码

    Pandas DataFrame求差集的示例代码

    这篇文章主要介绍了Pandas DataFrame求差集的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Django Form设置文本框为readonly操作

    Django Form设置文本框为readonly操作

    这篇文章主要介绍了Django Form设置文本框为readonly操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • PyQt5 closeEvent关闭事件退出提示框原理解析

    PyQt5 closeEvent关闭事件退出提示框原理解析

    这篇文章主要介绍了PyQt5 closeEvent关闭事件退出提示框原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01

最新评论