Python3 小實例,問答機器人

2022-04-24 17:34 更新

小實例,問答機器人

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

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

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

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

  1. #/usr/bin/env python3
  2. #coding:utf-8
  3. dict = {
  4. "你好" : "你好",
  5. "很高興見到您" : "我也很能高興見到你",
  6. "你喜歡吃什么水果 " : "我喜歡橘子",
  7. "你今年多大了" : "27 歲了",
  8. "你很漂亮" : "謝謝"
  9. }
  10. flag = ('c')
  11. work = True
  12. print('你好,我是python機器人')
  13. print('你有時間跟我聊聊嗎')
  14. while flag == 'c' or 't':
  15. flag = input("你可以選擇是否跟我聊天(c),還是決定練習(xí)下我的對話能力(t),或者讓我推下(l)?(c/t/l)")
  16. if flag == "t":
  17. question = input("請輸入你想問的:")
  18. answer = input("請輸入問題答案:")
  19. dict[str(question)] = str(answer)
  20. print("學(xué)習(xí)成功")
  21. print("現(xiàn)在我已經(jīng)學(xué)會了%d個問題"%len(dict))
  22. continue
  23. elif flag == 'c':
  24. if len(dict) == 0:
  25. print("現(xiàn)在我還不會回答任何問題,請先讓我學(xué)習(xí):")
  26. continue
  27. chat_word = input("謝謝你跟我聊天,你想對我說點什么?:")
  28. for key in sorted(dict.keys()):
  29. if str(chat_word) == key:
  30. work = True
  31. print(dict[key])
  32. break
  33. else:
  34. work = False
  35. if work == False:
  36. print("Sorry,這個問題我回答不上來")
  37. work = True
  38. elif flag == 'l':
  39. print("好的,那我們下次再聊")
  40. break
  41. else:
  42. print("請輸入提示指令")
  43. continue

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

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號