python 小實例,問答機器人
來自專欄 Python奔跑進階
基礎知識學了其實也有一段時間了,做幾個小的實例還是綽綽有餘的。今天我們就一起實操,寫一個問答機器人吧
問題來了,要做一個問答機器人我們首先得知道會用到哪些學到的知識點:
- 字典:存儲機器人的相關對話內容,讓機器人有相關的「記憶」
- 循環(嵌套循環):一直去響應我們對應的問題
- 判斷: 執行流程操作
搞清楚了機器人的相關運作流程之後就開搞吧,流程是比較複雜的,不過相信你能搞定。上栗子:
#/usr/bin/env python3#coding:utf-8dict = { "你好" : "你好", "很高興見到您" : "我也很能高興見到你", "你喜歡吃什麼水果 " : "我喜歡橘子", "你今年多大了" : "27 歲了", "你很漂亮" : "謝謝" }flag = (c)work = Trueprint(你好,我是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("現在我已經學會了%d個問題"%len(dict)) continue elif flag == c: if len(dict) == 0: print("現在我還不會回答任何問題,請先讓我學習:") 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
這是講字典,循環,判斷結核的比較好的一個實例;為了方便你以後能靈活使用相關技術,希望能夠多思考將這些知識點組合運用起來轉化稱自己的思路,不斷的練習方能起到學以致用。我們的Python初級課程差不多也就到這了,接下來將會進入到中級課程當中
推薦閱讀:
※[譯] Python 3.7 新特性
※Python入門 文件讀取與寫入
※PyQt5GUI應用程序工具包入門(一)——環境搭建
※計算化學,有python基礎還有必要學習matlab么?
※python3機器學習經典實例-第八章解剖時間序列和時序數據33