【发布时间】:2014-07-15 00:14:22
【问题描述】:
我正在尝试创建一个程序来存储
- 水果名称
- 水果类型
- 果色
- 水果大小
并根据要求将它们显示给用户。将为用户提供预定义的选项以供选择。像这样的:
我的数据库表会是这样的:
现在,我正在尝试实现一个过滤器功能,让用户选择
- 水果类型
- 果色
- 水果大小
它会给出所有具有上述属性的Fruit Names。但是现在,我有一个额外的选项,“全部”。
假设我已经查询了所有水果的数据并将它们存储在字典中,如下所示:
myfruits = { 'apple':('fleshy','red','medium'),
'orange':('fleshy','orange','medium'),
'peanut':('dry','red','small'),...}
如何获取具有用户选择的三个属性的水果名称列表? (例如,如果用户选择了“肉质”类型、“全部”颜色、“全部”尺寸——它应该返回['apple','orange']。)
我曾想过使用if 语句,但随着属性数量的增加,我将不得不写很多行if 和else,我认为这不可行。
我在 Windows XP SP3 32 位上使用 Python 2.7 和 PyQt 4 和 SQLite 3 数据库。
【问题讨论】:
标签: python filter sqlite pyqt logic