在 Python 中查找成功交付的平均持续时间
Find average duration of a successful delivery in Python
我需要在Python 3 中编写一个函数来计算成功交付的平均交付时间。
让我解释一下,
每次以这种格式下外卖订单时,移动应用程序都会向我发送字典。
{'OrderID':1,'Current Stage':1,'Customer':101,'OrderTime':12:32:10}
当交货 driver 接受订单时,将生成一条新记录。
{'OrderID':1,'Current Stage':2,'Customer':101,'OrderTime':12:35:30}
当driver从餐厅取餐时,将生成一条新记录并像这样发送。
{'OrderID':1,'Current Stage':3,'Customer':101,'OrderTime':12:42:10}
当 driver 交付订单时,我们会收到此订单的最终记录,如下所示
{'OrderID':1,'Current Stage':4,'Customer':101,'OrderTime':13:02:30}
看到这个订单,用了30分钟才成功下单。
如果其他客户下订单,我们会收到来自移动应用程序的类似请求。
有些订单会成功,有些则不会。每个成功的订单都会有 4 行发送到(但不是一次全部发送。它是一个流媒体应用程序,只要在交付过程中完成一个步骤,它就会发送该行)。
现在如果另一个订单成功完成,用了 40 分钟...那么平均将是 35 分钟。
第三次成功下单后(如果用了50分钟)则平均为40分钟
第 4 次成功下单(如果只用了 10 分钟)那么平均时间会变成 30 分钟。
所以基本上我的函数应该 return 这个平均时间。函数的输入是字典。
我能得到一些帮助吗?
如果您需要 return 所有交付的平均值,那么您必须将当前平均值和成功交付的数量存储为函数之外的全局变量。您还应该存储一个字典,它将 OrderID 作为键,OrderTime(下订单时)全局存储。
这样,当您收到请求时,如果它处于第 1 阶段,您会将时间存储在字典中,return 当前平均值。如果它在第 4 阶段,您检查全局字典以检查下订单的时间,并更新新的平均值。
我需要在Python 3 中编写一个函数来计算成功交付的平均交付时间。
让我解释一下,
每次以这种格式下外卖订单时,移动应用程序都会向我发送字典。 {'OrderID':1,'Current Stage':1,'Customer':101,'OrderTime':12:32:10}
当交货 driver 接受订单时,将生成一条新记录。 {'OrderID':1,'Current Stage':2,'Customer':101,'OrderTime':12:35:30}
当driver从餐厅取餐时,将生成一条新记录并像这样发送。 {'OrderID':1,'Current Stage':3,'Customer':101,'OrderTime':12:42:10}
当 driver 交付订单时,我们会收到此订单的最终记录,如下所示 {'OrderID':1,'Current Stage':4,'Customer':101,'OrderTime':13:02:30}
看到这个订单,用了30分钟才成功下单。
如果其他客户下订单,我们会收到来自移动应用程序的类似请求。
有些订单会成功,有些则不会。每个成功的订单都会有 4 行发送到(但不是一次全部发送。它是一个流媒体应用程序,只要在交付过程中完成一个步骤,它就会发送该行)。
现在如果另一个订单成功完成,用了 40 分钟...那么平均将是 35 分钟。
第三次成功下单后(如果用了50分钟)则平均为40分钟
第 4 次成功下单(如果只用了 10 分钟)那么平均时间会变成 30 分钟。
所以基本上我的函数应该 return 这个平均时间。函数的输入是字典。
我能得到一些帮助吗?
如果您需要 return 所有交付的平均值,那么您必须将当前平均值和成功交付的数量存储为函数之外的全局变量。您还应该存储一个字典,它将 OrderID 作为键,OrderTime(下订单时)全局存储。
这样,当您收到请求时,如果它处于第 1 阶段,您会将时间存储在字典中,return 当前平均值。如果它在第 4 阶段,您检查全局字典以检查下订单的时间,并更新新的平均值。