温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用python做一个随机点名的程序

发布时间:2021-10-19 17:04:16 来源:亿速云 阅读:695 作者:iii 栏目:开发技术

本篇内容介绍了“怎么用python做一个随机点名的程序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

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

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

“怎么用python做一个随机点名的程序”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI