我有3個列表,一個小時,一個分鐘,一個秒。我所做的是創建一個函數,將3個列表作爲輸入並計算總時間。將時間列表轉換爲總時間
我的問題是,功能是如此多餘,我的問題是簡單:什麼是更好的方法來做到這一點。
這裏是我的功能:
def final_time(hours,minutes,seconds):
draft_hours = sum(hours)
draft_minutes = sum(minutes)
draft_seconds = sum(seconds)
adding_seconds = str(draft_seconds/60.0)
second_converting = adding_seconds.split(".")
seconds_to_minutes = int(second_converting[0])
seconds_to_seconds = draft_seconds - (seconds_to_minutes * 60)
total_seconds = str(seconds_to_seconds)
more_minutes = draft_minutes + seconds_to_minutes
adding_minutes = str(more_minutes/60.0)
minute_converting = adding_minutes.split(".")
minutes_to_hours = int(minute_converting[0])
minutes_to_minutes = more_minutes - (minutes_to_hours * 60)
total_minutes = str(minutes_to_minutes)
total_hours = str(draft_hours + minutes_to_hours)
return total_hours + " hours, " + total_minutes + " minutes, and " + total_seconds + " seconds."
這裏有一個例子:
my_hours = [5, 17, 4, 8]
my_minutes = [40, 51, 5, 24]
my_seconds = [55, 31, 20, 33]
print final_time(my_hours,my_minutes,my_seconds)
以上的回報:
36 hours, 2 minutes, and 19 seconds.
所以它的工作,但你可以看到,函數只是不是pythonic或高效函數... 什麼是更好的方法?
即開始的問題,「*所以它的工作*」爲更好地要求在http://codereview.stackexchange.com – 2013-04-29 17:18:36