第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python:等待用戶輸入或回調(diào),以先到者為準

Python:等待用戶輸入或回調(diào),以先到者為準

HUX布斯 2021-11-23 16:44:18
我有一個等待用戶輸入的聊天機器人,但也有一個屏幕,用戶可以在其中單擊一個按鈕來選擇一個選項。在我的 python 代碼中,我可以通過回調(diào)獲得所選選項,并且我還有一個無限循環(huán),在聊天機器人響應(yīng)后等待用戶輸入。我想問用戶一個問題,但允許他們輸入答案或從屏幕中選擇一個選項。所以我或多或少想要這樣的東西:inp = ""while(True):    answer, end = get_answer(inp)    print('CHATBOT: '+ answer)    if end = break    if input by user:         inp = input by user    elif callback:         inp = callback value當然,用戶的回調(diào)或輸入可能需要一段時間才能給出,因此計時器是不可取的。我怎么能這樣做?
查看完整描述

1 回答

?
桃花長相依

TA貢獻1860條經(jīng)驗 獲得超8個贊

您可以將線程與消息隊列一起使用:


from threading import Thread

from Queue import Queue

from datetime import datetime

import time


def chatbot(queue):

    while True:

        queue.put('CHATBOT: The time is now %s' % datetime.now())

        time.sleep(5)


def user_input(queue):

    while True:

        queue.put('USER: ' + raw_input())


queue = Queue()

chatbot_thread = Thread(target=chatbot, args=(queue,))

input_thread = Thread(target=user_input, args=(queue,))

chatbot_thread.start()

input_thread.start()

while True:

    print(queue.get())

示例輸入/輸出:


CHATBOT: The time is now 2019-03-01 07:42:43.975000

hello world

USER: hello world

CHATBOT: The time is now 2019-03-01 07:42:48.976000

CHATBOT: The time is now 2019-03-01 07:42:53.977000

foo bar

USER: foo bar

CHATBOT: The time is now 2019-03-01 07:42:58.977000


查看完整回答
反對 回復(fù) 2021-11-23
  • 1 回答
  • 0 關(guān)注
  • 225 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號