您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“怎么用python做一個(gè)隨機(jī)點(diǎn)名的程序”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
import random #導(dǎo)入隨機(jī)模塊 import pyttsx3 #導(dǎo)入第三方語(yǔ)音模塊 listen = pyttsx3.init() #初始化一個(gè)變量 txt_path = input('請(qǐng)輸入txt文件的path:') #使用者輸入名單文件的路徑(名單文件為txt,一行只能有一個(gè)姓名,姓名必須在行首不能有空格) txt = open(f'{txt_path}','r',encoding='utf-8') #打開(kāi)名單文件 name_list = [] #創(chuàng)建空列表用于存儲(chǔ)名單 for i in txt: #for循環(huán)遍歷 i = i.replace('\n','') #處理字符串將換行符去掉 name_list.append(i) #添加到姓名列表里 print(name_list) #打印名單 txt.close() #關(guān)閉名單文件 while True: #永真無(wú)限循環(huán) if len(name_list) == 0: #當(dāng)名單里所有人都被點(diǎn)到過(guò)一次時(shí)結(jié)束 print('結(jié)束') break r_num = random.randint(0, len(name_list) - 1) #創(chuàng)建隨機(jī)數(shù) a = input('輸入b退出,其他值繼續(xù):') #讓用戶選擇繼續(xù)點(diǎn)名還是退出點(diǎn)名 if a == 'b': #當(dāng)用戶輸入b退出即退出 print('結(jié)束') break else: #否則就開(kāi)始隨機(jī)點(diǎn)名 print(f'本次被點(diǎn)到名的是:{name_list[r_num]}') listen.say(f'{name_list[r_num]}') #輸出姓名語(yǔ)音 listen.runAndWait() #運(yùn)行語(yǔ)言 name_list.pop(r_num) #將點(diǎn)過(guò)名的去除掉以防重復(fù) print() #間隔作用
將代碼分割成四部分
需要兩個(gè)模塊,一個(gè)內(nèi)置模塊一個(gè)第三方模塊分別是:random、pyttsx3(這個(gè)是第三放模塊,需要安裝).
import random import pyttsx3
txt_path = input('請(qǐng)輸入txt文件的path:') #使用者輸入名單文件的路徑(名單文件為txt,一行只能有一個(gè)姓名,姓名必須在行首不能有空格) txt = open(f'{txt_path}','r',encoding='utf-8') #打開(kāi)名單文件 name_list = [] #創(chuàng)建空列表用于存儲(chǔ)名單 for i in txt: #for循環(huán)遍歷 i = i.replace('\n','') #處理字符串將換行符去掉 name_list.append(i) #添加到姓名列表里 print(name_list) #打印名單 txt.close()
用戶要輸入名單文件的路徑例如
這時(shí)我們運(yùn)行一下程序,將名單的路徑輸入看看效果
listen = pyttsx3.init() listen.say('輸出語(yǔ)音') listen.runAndWait() #開(kāi)始輸出語(yǔ)音
注意pyttsx3模塊是要自己下載的,下載方式就是在cmd里輸入pip install pyttsx3這個(gè)命令即可
while True: #永真無(wú)限循環(huán) if len(name_list) == 0: #當(dāng)名單里所有人都被點(diǎn)到過(guò)一次時(shí)結(jié)束 print('結(jié)束') break r_num = random.randint(0, len(name_list) - 1) #創(chuàng)建隨機(jī)數(shù) a = input('輸入b退出,其他值繼續(xù):') #讓用戶選擇繼續(xù)點(diǎn)名還是退出點(diǎn)名 if a == 'b': #當(dāng)用戶輸入b退出即退出 print('結(jié)束') break else: #否則就開(kāi)始隨機(jī)點(diǎn)名 print(f'本次被點(diǎn)到名的是:{name_list[r_num]}') listen.say(f'{name_list[r_num]}') #輸出姓名語(yǔ)音 listen.runAndWait() #運(yùn)行語(yǔ)言 name_list.pop(r_num) #將點(diǎn)過(guò)名的去除掉以防重復(fù) print() #間隔作用
隨機(jī)點(diǎn)名是根據(jù)創(chuàng)建隨機(jī)數(shù)然后名單根據(jù)隨機(jī)數(shù)索引來(lái)達(dá)到隨機(jī)的效果。。。
“怎么用python做一個(gè)隨機(jī)點(diǎn)名的程序”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。