用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()
用戶要輸入名單檔案的路徑
例如
這時我們運行一下程式,將名單的路徑輸入看看效果


三、使用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() #間隔作用
隨機點名是根據創建亂數然后名單根據亂數索引來達到隨機的效果,
,,
這就是我做的一個簡單的隨機點名程式,本人是一名初學者,如果代碼有問題或者可以改進請大家指點出來,謝謝!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/321482.html
標籤:其他
上一篇:PyTorch學習Lesson3
