簡體   English   中英

每小時處理的Python數

[英]Python Number Processed Per Hour

我可以在excel中使用它,但是似乎找不到適用於Python 3.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等於零的實例,所以我必須檢查它。

很簡單,你永遠不轉換您的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包。

給定類似“ 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM