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()
用戶要輸入名單文件的路徑例如
這時我們運行一下程序,將名單的路徑輸入看看效果
三、使用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 隨機點名內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!