小編寫這篇文章的一個(gè)主要目的,主要是給大家去做一個(gè)詳細(xì)解答,解答的內(nèi)容是基于Python的,基于Python去制作AI聊天軟件,實(shí)現(xiàn)遠(yuǎn)程聊天。那么,現(xiàn)在有沒有現(xiàn)成的代碼呢?下面就給大家詳細(xì)解答下。
效果圖
先看一下效果圖
就當(dāng)是女友無聊的時(shí)候自己抽不出時(shí)間的小分身吧!
需要用到的庫
tkinter、time、urllib、requests
tkinter負(fù)責(zé)窗體、time顯示時(shí)間、urllib和requests負(fù)責(zé)請(qǐng)求
窗體設(shè)計(jì)
from tkinter import* win1=Tk() win1.geometry('400x644+100+100') win1.title('xxx男神的AI分身') Label11=Label(win1,text='男神白',font=('黑體',12),anchor='center').place(y=13,x=15,width=380,height=20) Entry11=Entry(win1,font=('等線',11),width=70) Entry11.place(y=600,x=15,width=310,height=26) Button11=Button(win1,text='發(fā)送',font=('等線',11),command=mecha).place(y=598,x=328,width=65,height=30) console=Text(win1,font=('等線',11)) console.place(y=35,x=15,width=368,height=550) console.insert(1.0,'歡迎來到你與男神的小天地!n你可以把你想說的內(nèi)容輸入到下面的輸入框哦n') console.mark_set('markOne',1.0) console.mark_set('markTwo',3.0) console.tag_add('tag1','markOne','markTwo') console.tag_config('tag1',foreground='red') win1.bind("<Return>",test_fun) win1.mainloop() 函數(shù) 在txet部件上顯示發(fā)送時(shí)間及顏色處理,使用requests和urllib庫來調(diào)用接口處理回復(fù)你女朋友的信息。 def liaotian(): global b import time b=3 def mecha(): global b b+=2 console.insert('end',time.strftime('%Y-%m-%d%H:%M:%S',time.localtime())+'n') console.insert('end',str(Entry11.get())+'n') console.mark_set(str(b-1),str(b-1)+'.0') console.mark_set(str(b),str(b)+'.0') console.tag_add(str(b),str(b-1),str(b)) console.tag_config(str(b),foreground='blue') console.see(END) console.update() console.insert('end',time.strftime('%Y-%m-%d%H:%M:%S',time.localtime())+'n') console.insert('end',aicha()+'n') console.mark_set(str(b-1),str(b-1)+'.0') console.mark_set(str(b),str(b)+'.0') console.tag_add(str(b),str(b-1),str(b)) console.tag_config(str(b),foreground='red') console.see(END) Entry11.delete(0,END) console.update() def test_fun(self): mecha() def aicha(): global b b+=2 msg=str(Entry11.get()) else: import urllib import requests def qingyunke(msg): url='http://api.qingyunke.com/api.php?key=free&appid=0&msg={}'.format(urllib.parse.quote(msg)) html=requests.get(url) return html.json()["content"] print("原話>>",msg) res=qingyunke(msg) res=res.replace('菲菲','你男神') res=res.replace('我','你男神') print("智能回復(fù)>>",res) return res
為粉絲們額外添加的功能
根據(jù)女友輸入的內(nèi)容自定義回復(fù)
我自己添加的內(nèi)容太肉麻的,不太適合分享給你們哈。于是我就給你們做多了一個(gè)自定義回復(fù)的功能。嘿嘿!那就是獨(dú)一無二的代碼了
堅(jiān)持著你們直接能使用代碼不做任何修改的原則,我就不讓你們?cè)诖a里面添加了,當(dāng)你第一次運(yùn)行此代碼的時(shí)候會(huì)自動(dòng)創(chuàng)建一個(gè)txt文件(甚至還不用讓你創(chuàng)建文件),你就可以在txt文件中自定義回復(fù)內(nèi)容了。
使用異常處理模塊try來嘗試open讀取名為“自定義回復(fù).txt”的文件,若不存在except就創(chuàng)建,若已存在直接讀取即可。操作讀取的字符串逐個(gè)添加到zidingyi字典中,判斷輸入的語句是否在zidingyi.keys()中即可做出相應(yīng)回復(fù)。
添加后的效果圖:
zidingyi={} try: with open("自定義回復(fù).txt","r",encoding='utf8')as f: asd=f.readlines() print(asd) for line in asd: line=line.strip('n') wen,da=line.split(':',1) zidingyi[wen]=da except: with open("自定義回復(fù).txt","w+",encoding='utf8')as f: f.write('提示——>采用“輸入:回復(fù)”格式如——>你吃飯了嗎?:我吃飯啦回車以繼續(xù)下一自定義回復(fù)(注意使用英文的冒號(hào))') with open("自定義回復(fù).txt","r",encoding='utf8')as f: asd=f.readlines() print(asd) for line in asd[1:]: line=line.strip('n') wen,da=line.split(':',1) zidingyi[wen]=da print(line) print(zidingyi)
完整代碼
from tkinter import* def liaotian(): global b import time b=3 def mecha(): global b b+=2 console.insert('end',time.strftime('%Y-%m-%d%H:%M:%S',time.localtime())+'n') console.insert('end',str(Entry11.get())+'n') console.mark_set(str(b-1),str(b-1)+'.0') console.mark_set(str(b),str(b)+'.0') console.tag_add(str(b),str(b-1),str(b)) console.tag_config(str(b),foreground='blue') console.see(END) console.update() console.insert('end',time.strftime('%Y-%m-%d%H:%M:%S',time.localtime())+'n') console.insert('end',aicha()+'n') console.mark_set(str(b-1),str(b-1)+'.0') console.mark_set(str(b),str(b)+'.0') console.tag_add(str(b),str(b-1),str(b)) console.tag_config(str(b),foreground='red') console.see(END) Entry11.delete(0,END) console.update() def test_fun(self): mecha() def aicha(): global b b+=2 msg=str(Entry11.get()) if msg in zidingyi.keys(): res=zidingyi[msg] return res else: import urllib import requests def qingyunke(msg): url='http://api.qingyunke.com/api.php?key=free&appid=0&msg={}'.format(urllib.parse.quote(msg)) html=requests.get(url) return html.json()["content"] print("原話>>",msg) res=qingyunke(msg) res=res.replace('菲菲','你男神') res=res.replace('我','你男神') print("智能回復(fù)>>",res) return res zidingyi={} try: with open("自定義回復(fù).txt","r",encoding='utf8')as f: asd=f.readlines() print(asd) for line in asd: line=line.strip('n') wen,da=line.split(':',1) zidingyi[wen]=da except: with open("自定義回復(fù).txt","w+",encoding='utf8')as f: f.write('提示——>采用“輸入:回復(fù)”格式如——>你吃飯了嗎?:我吃飯啦回車以繼續(xù)下一自定義回復(fù)(注意使用英文的冒號(hào))') with open("自定義回復(fù).txt","r",encoding='utf8')as f: asd=f.readlines() print(asd) for line in asd[1:]: line=line.strip('n') wen,da=line.split(':',1) zidingyi[wen]=da print(line) print(zidingyi) win1=Tk() win1.geometry('400x644+100+100') win1.title('男神的AI分身') Label11=Label(win1,text='你男神',font=('黑體',12),anchor='center').place(y=13,x=15,width=380,height=20) Entry11=Entry(win1,font=('等線',11),width=70) Entry11.place(y=600,x=15,width=310,height=26) Button11=Button(win1,text='發(fā)送',font=('等線',11),command=mecha).place(y=598,x=328,width=65,height=30) console=Text(win1,font=('等線',11)) console.place(y=35,x=15,width=368,height=550) console.insert(1.0,'歡迎來到你與男神的小天地!n你可以把你想說的內(nèi)容輸入到下面的輸入框哦n') console.mark_set('markOne',1.0) console.mark_set('markTwo',3.0) console.tag_add('tag1','markOne','markTwo') console.tag_config('tag1',foreground='red') win1.bind("<Return>",test_fun) win1.mainloop() liaotian()
綜上所述,這篇文章就給大家介紹到這里了,希望可以給各位讀者帶來幫助。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/128345.html
摘要:基于和端微信開發(fā)的聊天機(jī)器人。使用的微信賬號(hào)即充當(dāng)機(jī)器人的賬號(hào)為個(gè)人賬號(hào),可自定義指令。關(guān)閉玫瑰感謝您的使用玫瑰閃電需要開啟請(qǐng)?jiān)诳刂婆_(tái)啟動(dòng)程序閃電微信發(fā)出關(guān)閉口令,程序退出。 Github: https://github.com/doterlin/wechat-robot showImg(https://segmentfault.com/img/remote/1460000010601...
摘要:前兩天朋友圈里看到一段號(hào)稱價(jià)值一億的代碼可以智能應(yīng)答,很厲害是不是源碼極簡版嗎其實(shí)就是幾個(gè)字符替換抖了個(gè)機(jī)靈,也順便黑了把當(dāng)下某些言必稱的風(fēng)氣。方法一模塊是一個(gè)生成自動(dòng)應(yīng)答的第三方庫。那我這兩段代碼怎么也得值個(gè)億吧,可以直接輪了。 前兩天朋友圈里看到一段號(hào)稱價(jià)值一億的代碼: showImg(https://segmentfault.com/img/remote/146000001743...
摘要:的人工智能版圖人工智能版圖由應(yīng)用平臺(tái)框架三大部分組成應(yīng)用層是提供各種應(yīng)用服務(wù),比如平臺(tái)層是平臺(tái)。應(yīng)用層主推三大成熟應(yīng)用基于深度學(xué)習(xí)的圖像和視頻分析它能實(shí)現(xiàn)對(duì)象與場景檢測人臉分析面部比較人臉識(shí)別名人識(shí)別圖片調(diào)節(jié)等功能。 AWS的人工智能版圖AWS人工智能版圖由:應(yīng)用、平臺(tái)、框架三大部分組成AI應(yīng)用層:是提供各種...
摘要:也完美地將不需要應(yīng)用開發(fā)人員了解的機(jī)器學(xué)習(xí)底層細(xì)節(jié)進(jìn)行了封裝,我們將要做的這個(gè)聊天機(jī)器人甚至不需要太多的編碼?;氐轿覄?chuàng)建的聊天機(jī)器人,目前沒有分配任何。最后,我們可以把這個(gè)創(chuàng)建好的聊天機(jī)器人進(jìn)行發(fā)布,讓它可以被其他平臺(tái)消費(fèi)。 很多SAP顧問朋友們對(duì)于人工智能/機(jī)器學(xué)習(xí)這個(gè)話題非常感興趣,也在不斷思考如何將這種新技術(shù)和SAP傳統(tǒng)產(chǎn)品相結(jié)合。Jerry之前的微信公眾號(hào)文章C4C和微信集成系...
閱讀 923·2023-01-14 11:38
閱讀 897·2023-01-14 11:04
閱讀 756·2023-01-14 10:48
閱讀 2056·2023-01-14 10:34
閱讀 961·2023-01-14 10:24
閱讀 840·2023-01-14 10:18
閱讀 510·2023-01-14 10:09
閱讀 588·2023-01-14 10:02