random 库是 PSL 的一部分。您只需在脚本顶部添加 import random 和其他导入语句。对于非 PSL 库,您应该将它们添加到“requirements.txt”中,然后将它们导入脚本中,就像使用 Node 和“package.json”文件一样。
这是我在 Alexa 开发者控制台中的默认 Python Hello World 模板中编辑的 LaunchIntent 版本。 import random 在第 8 行附近的 import logging 之后添加到脚本中。
class LaunchRequestHandler(AbstractRequestHandler):
"""Handler for Skill Launch."""
def can_handle(self, handler_input):
# type: (HandlerInput) -> bool
return ask_utils.is_request_type("LaunchRequest")(handler_input)
def handle(self, handler_input):
# type: (HandlerInput) -> Response
rnum = str(random.randint(0,9))
speak_output = "Welcome, your random number is " + rnum
return (
handler_input.response_builder
.speak(speak_output)
.ask(speak_output)
.response
)
因为我将数字与字符串组合以生成字符串,所以我必须将整数转换为字符串,但仅此而已。
除此之外,Alexa 开发人员控制台的编辑器顶部还有一个“CloudWatch Logs”按钮。单击它并检查您的最新日志流,了解可能发生的错误的输出。
例如,我不经常编写 Python,而且我已经习惯了 JavaScript 的类型强制,我忘记在将随机数添加到字符串之前将其转换为字符串。我知道……坏习惯。 CloudWatch 日志中明确指出了该错误。我修好了它,一切都像魅力一样。