繁体   English   中英

使用 python 和 pyttsx3 为自动售货机制作谈话列表。 如何往回遍历一个列表?

[英]Making a talking list for a vending machine, using python and pyttsx3. How to go back forth through a list?

我刚开始学习python。 涵盖列表、字典、函数等基础知识。 我将使用带有三个按钮的 raspberry pi4,“后退”、“重复”、“下一步”。

到目前为止,使用 pyttsx3,我已经为自动售货机中的数字 66 定义了一个函数,如下所示:

def no66():
    engine.say("Mrs Freshlys Cupcakes, 66")
    engine.runAndWait()

如果我想列出自动售货机中所有东西的清单,是否可以继续为每个数字定义函数? 以及如何将它们映射到按钮,以便盲人可以手动前后浏览列表或重复一个条目?

我已经到了这一步,希望能够得到一些建议,这样我就可以继续学习并最终完成这个项目。 我们想将 rasberry pi 与自动售货机(其键盘上已经有盲文)旁边的三个按钮相连,以便人们使用它。 就像各种自动售货机目录。

请注意我的评论,以后请尽量分解您的问题,并提出单一的、具体的问题。

由于比较容易,我会提示你一个可能的方向:

  1. 列出你所有的物品:

     my_items = ["Soup", "Stew", "Soda"]
  2. 将当前选择保存为状态:

     current_item = 1 # Represents the position in the list, 1 is Stew
  3. 创建一个通用的读取函数:

     def read(id): item_name = my_items[id] engine.say(item_name + ", Nr." + id) engine.runAndWait()
  4. 您的按钮只需修改此项目,然后调用通用读取函数

    def go_forward(): current_item = current_item + 1 # Also think about edge cases at the end of the list! read(current_item)

这是一个粗略的草案,可以为您指明正确的方向。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM