每小时处理的Python数

2024-04-16 09:38:29 发布

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

我能够在excel中实现这一点,但是我似乎找不到Python3.X的解决方案。如何计算每小时处理的数量?你知道吗

我需要创建一个公式,将确定1小时内生产的单位数量。公式unitsPerHour = totalProcessed/(totalTime*24)可以在excel中使用,但不能在Python中使用。似乎totalTime*24总是产生0。你知道吗

例如:花了4小时26分3秒(04:26:03),完成了73个单元。每小时完成多少单元?你知道吗

# "%d:%d:%d" % (diff.hours, diff.minutes, diff.seconds) = 04:26:03
totalTime = "%d:%d:%d" % (diff.hours, diff.minutes, diff.seconds)
totalProcessed = 73
denomCheck = totalTime*24
if denomCheck != 0:
    unitsPerHour =  totalProcessed/(totalTime*24)

当然,只要分母等于零,就会抛出一个错误。这就是denomCheck变量的用途。我确实有totalTime等于零的例子,所以我必须检查它。你知道吗


Tags: 数量diff解决方案excelpython3单元公式seconds
2条回答

给定类似“04:26:03”的字符串,可以执行以下操作来计算每小时的单位:

time_string = '04:26:03'

# extract hours, minutes, and seconds
hours, minutes, seconds =  [int(item.lstrip('0')) for item in time_string.split(':')]

# calculate total time, assuming Python 3
total_time_in_hours = hours + minutes/60 + seconds/3600

# units per hour
units_per_hour = totalProcessed / total_time_in_hours

如果值可用作整数, 简单地做:

total_time_in_hours = diff.hours + diff.minutes / 60 + diff.seconds / 3600
units_per_hour = totalProcessed / total_time_in_hours

很简单,您从未将diff变量从三重值转换为数值小时数。相反,您将其格式化为可读字符串。将一个字符串乘以24得到24个副本,这些副本连接成一个字符串。。。在发布之前,您应该用一个简单的print语句验证一下。例如:

# "%d:%d:%d" % (diff.hours, diff.minutes, diff.seconds) = 04:26:03
totalTime = "%d:%d:%d" % (4, 26, 3)
totalProcessed = 73
denomCheck = totalTime*24
print "totalTime", totalTime
print "denomCheck", denomCheck
if denomCheck != 0:
    unitsPerHour =  totalProcessed/(totalTime*24)

输出:

totalTime 4:26:3
denomCheck 4:26:34:26:34:26:34:26:34:26:34:26:34:26:34:26:34:26:34:26:34:26:34:26:34:26:34:26:34:26:34:26:34:26:34:26:34:26:34:26:34:26:34:26:34:26:34:26:3
Traceback (most recent call last):
  File "so.py", line 8, in <module>
    unitsPerHour =  totalProcessed/(totalTime*24)
TypeError: unsupported operand type(s) for /: 'int' and 'str'

解决方案:

算算一下:

total_time = diff.hours + diff.minutes/60.0 + diff.seconds/3600.0

如果您想学习如何操作一种使这些事情变得更简单的数据类型,请尝试Python的datetime包。你知道吗

相关问题 更多 >