Python3 小實例,問答機器人

2022-04-24 17:34 更新

小實例,問答機器人

基礎知識學了其實也有一段時間了,做幾個小的實例還是綽綽有余的。今天我們就一起實操,寫一個問答機器人吧

問題來了,要做一個問答機器人我們首先得知道會用到哪些學到的知識點:

  • 字典:存儲機器人的相關對話內容,讓機器人有相關的“記憶”
  • 循環(huán)(嵌套循環(huán)):一直去響應我們對應的問題
  • 判斷: 執(zhí)行流程操作

搞清楚了機器人的相關運作流程之后就開搞吧,流程是比較復雜的,不過相信你能搞定。上栗子:

#/usr/bin/env python3
#coding:utf-8


dict = {
    "你好" : "你好",
    "很高興見到您" : "我也很能高興見到你",
    "你喜歡吃什么水果 " : "我喜歡橘子",
    "你今年多大了" : "27 歲了",
    "你很漂亮" : "謝謝"   
}


flag = ('c')
work = True


print('你好,我是python機器人')
print('你有時間跟我聊聊嗎')
while flag == 'c' or 't':
    flag = input("你可以選擇是否跟我聊天(c),還是決定練習下我的對話能力(t),或者讓我推下(l)?(c/t/l)")
    if flag == "t":
        question = input("請輸入你想問的:")
        answer = input("請輸入問題答案:")
        dict[str(question)] = str(answer)
        print("學習成功")
        print("現(xiàn)在我已經學會了%d個問題"%len(dict))
        continue
    elif flag == 'c':
        if len(dict) == 0:
            print("現(xiàn)在我還不會回答任何問題,請先讓我學習:")
            continue
        chat_word = input("謝謝你跟我聊天,你想對我說點什么?:")

    
        for key in sorted(dict.keys()):
            if str(chat_word) == key:
                work = True
                print(dict[key])
                break
            else:
                work = False
        if work == False:
            print("Sorry,這個問題我回答不上來")
            work = True
    elif flag == 'l':
        print("好的,那我們下次再聊")
        break
    else:
        print("請輸入提示指令")
        continue

這是講字典,循環(huán),判斷結核的比較好的一個實例;為了方便你以后能靈活使用相關技術,希望能夠多思考將這些知識點組合運用起來轉化稱自己的思路,不斷的練習方能起到學以致用。我們的 Python 初級課程差不多也就到這了,接下來將會進入到中級課程當中

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號