在Python中指定两个元素并形成一个列表

2024-10-08 19:26:51 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的项目中,我必须定义一个函数,在这个函数中,我得到了下面两个列表和一个小时,是通过一个早期文件提取的(这些完全是任意的,但是数据的顺序是相同的)。“return”命令必须返回一个带有操作员姓名的列表,后跟客户的姓名。在

[('Ricardo Tavares', 'portuguese', '(mobiles; printers)', '14:15', 42), ('Carl Thompson', 'english', '(laptops)', '14:17', 54), ('Nuria Castro', 'spanish', '(cameras; hifi)', '14:24', 37), ('Giovanni Olivetti', 'italian', '(laptops; bimby; hifi)', '14:52', 21), ('Georg Muller', 'deutsch', '(cameras)', '15:05', 31)]


^{pr2}$

目标是将操作员(第一个列表)分配给客户(第二个列表)。作业必须根据知识领域(如手机、打印机)和操作员的语言(如葡萄牙语、英语)以及客户的帮助主题(如笔记本电脑、摄像头)和他们所说的语言(如英语、西班牙语)来完成。此外,有必要记住,必须首先为“高级”客户提供服务,而不是其他“fremium”。运算符分配给客户必须根据他们工作的分钟数(每个列表元素的最后一个元组值)以及他们最后一次回答客户的时间(例如14:15)。在

有了这些条件,除了让人有点困惑之外,我还不太清楚在编程时哪种方法是解决这段代码的最有效方法,而不必过于防御性!在

这是我现在所拥有的,但清单上还是空白。在

^{3}$


operators = [('Leticia Ferreira', 'portuguese', '(laptops)', '11:03', 15), ('Atilio Moreno', 'portuguese', '(laptops)', '10:58', 104), ('Ruth Falk', 'german', '(phones; hifi)', '11:06', 150), ('Marianne Thibault', 'french', '(phones)', '11:09', 230), ('Mariana Santana', 'portuguese', '(phones)', '11:11', 230), ('Beate Adenauer', 'german', '(hifi; phones)', '11:12', 140), ('Romana Cerveny', 'czech', '(phones)', '11:13', 213), ('Zdenka Sedlak', 'czech', '(phones)', '11:13', 56)]
requests = [('Christina Holtzer', 'german', 'hifi', 'fremium', 7), ('Andrej Hlavac', 'czech', 'phones', 'fremium', 9), ('Dulce Chaves', 'portuguese', 'laptops', 'fremium', 15), ('Otavio Santiago', 'portuguese', 'laptops', 'fremium', 15), ('Dina Silveira', 'portuguese', 'phones', 'fremium', 9), ('Rafael Kaluza', 'slovenian', 'laptops', 'fremium', 13), ('Sabina Rosario', 'portuguese', 'laptops', 'premium', 10), ('Nuno Rodrigues', 'portuguese', 'laptops', 'fremium', 12), ('Feliciano Santos', 'portuguese', 'phones', 'fremium', 12)]

current_time = "14:55 06:11:2017"

assign_tasks(operators, requests, current_time)

有什么不对劲吗?在


Tags: 方法函数语言列表客户姓名german操作员
2条回答

我不会在这个答案中显示任何代码,但我会采用一种简单的算法方法。剩下的就看你了。在

我将采取的方法如下:

  • 循环访问客户

  • 对于每个客户,检查客户所说的语言。在

    • 循环检查操作员,检查每个操作员是否使用与客户相同的语言。在
    • 如果有客户需要帮助,请检查他/她是否涵盖了客户需要帮助的问题。在
    • 如果他/她这样做,就把接线员分配给客户。)我不知道你会怎么说,所以我就这样离开。在
  • 对下一个客户重复上述过程,直到所有客户都得到照顾。在

我刚刚提出的这个算法绝不是完美的,但是如果这是你想要的,它应该可以完成任务。在

有趣的是现在正在实现这一点(至少对我来说)。在

希望这有帮助。在

我很久没有用python编写代码了,所以我在这方面的经验非常有限,但是在这种情况下,您应该一步一步地检查代码中的每一点,看看它做了什么。通常,您会发现某个东西的输出不是您期望的结果,从而破坏了代码。我花了大约5分钟来设置代码并添加了一些print语句来查看代码输出并立即发现了问题。https://repl.it/repls/MoistInstructiveIcelandichorse

显然,操作符[k][2]被视为一个字符串而不是一个列表,所以当你迭代它时,你将遍历每个字符而不是每个项目。你的专业技能列表似乎不是一个快速的列表。我不确定这是否是有意为之,但要使您的代码正常工作,您需要以某种方式解决它。在

相关问题 更多 >

    热门问题