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 随机点名内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用

    tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用

    今天小编就为大家分享一篇tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • python和php哪个更适合写爬虫

    python和php哪个更适合写爬虫

    这篇文章主要介绍了python和php哪个更适合写爬虫的相关对比知识点,需要的朋友们可以学习下。
    2020-06-06
  • Pandas实现自定义Excel格式并导出多个sheet表

    Pandas实现自定义Excel格式并导出多个sheet表

    pandas默认整合XlsxWriter驱动,可以自动化处理excel操作,并提供公式、设置单元格格式、可视化分析图片等操作,本文就来和大家详细聊聊
    2023-05-05
  • springboot配置文件抽离 git管理统 配置中心详解

    springboot配置文件抽离 git管理统 配置中心详解

    在本篇文章里小编给大家整理的是关于springboot配置文件抽离 git管理统 配置中心的相关知识点内容,有需要的朋友们可以学习下。
    2019-09-09
  • python3编写C/S网络程序实例教程

    python3编写C/S网络程序实例教程

    这篇文章主要介绍了python3编写C/S网络程序的方法,对于学习Python网络程序设计的朋友具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-08-08
  • Python Requests 基础入门

    Python Requests 基础入门

    首先,Python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 不友好。通过本文给大家介绍Python Requests 入门基础,感兴趣的朋友一起学习吧
    2016-04-04
  • Python如何在bool函数中取值

    Python如何在bool函数中取值

    这篇文章主要介绍了Python如何在bool函数中取值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Python pycharm提交代码遇到冲突解决方法

    Python pycharm提交代码遇到冲突解决方法

    这篇文章主要介绍了Python pycharm提交代码遇到冲突解决方法,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • Python直接赋值及深浅拷贝原理详解

    Python直接赋值及深浅拷贝原理详解

    这篇文章主要介绍了Python直接赋值及深浅拷贝原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Python devel安装失败问题解决方案

    Python devel安装失败问题解决方案

    这篇文章主要介绍了Python devel安装失败问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06

最新评论