-3

刚开始学习编程并开始涉足简单的聊天机器人代码。我收到了文本回复,但是我希望我的计算机 (Mac) 能够说出回复,并且只在回复出现的同时说出回复。这是代码:

import random 

import sys

import os

def show_response(options):

choice = random.randint(0, len(options) -1)

print(options[choice])

random.seed(None)

while True:
    userInput = input(">>>")

    if userInput in ["Ava, you there?"]:
        list = ["Indeed I am, Sir.", "Yes, Sir. What do you need?", "For you, Sir, always.", "I am now.", "What is it, Sir?", "I'm right here.", "How may I assist you, Sir?", "How may I assist you?", "You need something, Sir?"]
        choice = random.randint(0, len(list) -1)
        print(list[choice])
    elif userInput in ["Wake up, Ava"]:
        list = ["What is it, Sir?", "How can I help?", "How can I help, Sir?", "Hello, Sir.", "Hello, Sir. Is there anything you need?", "How may I assist you?", "How may I assist you, Sir?"]
        choice = random.randint(0, len(list) -1)
        print(list[choice])
    elif userInput in ["Hey, Ava"]:
        list = ["What is it, Sir?", "How can I help?", "How can I help, Sir?", "Hello, Sir.", "Hello, Sir. Need anything?", "How may I assist you?", "How may I assist you, Sir?", "You need something, Sir?"]
        choice = random.randint(0, len(list) -1)
        print(list[choice])

如果这是重复,我很抱歉。我更需要在这个结构中安装解决方案,尽管只是为了帮助我了解它的放置位置以及如何使用它。

注意:这不是标记问题的欺骗。虽然这个被认为是重复的问题确实允许您将文本转换为语音,但它不涉及将列出的随机响应转换为语音,这是我需要做的。然而,它确实让我能够让演讲发挥作用,所以谢谢你。我在别处找到了答案并将其放在下面。

4

1 回答 1

0

由于我在这里没有得到任何回应以帮助解决这种情况,因此我去了其他地方并找到了这个特定问题的答案。尽管这个被认为是欺骗的问题确实允许 Python 说话,但它并没有将语音设置为列表中的响应。然而,它确实让我能够让演讲发挥作用,所以谢谢你。

我只是在每个'print(list [choice])'下面添加了这段代码,包括它声明函数的'print(options [choice])'。

所需代码: os.system("say " + "'" + list[choice] + "'")

这将允许它说出随机选择的响应。但是,由于某种原因,它似乎不喜欢撇号,因此请确保列表中的所有响应都没有!逗号、点、问号等似乎没问题,但撇号是不行的!

这对我有用,不确定它是否适用于其他代码迭代,但我希望它可以。

于 2016-01-11T14:06:20.063 回答