我得到了执行所需代码的代码,但与实际解决方案相比,我觉得它是经过硬编码的。关于如何调整“小时”,“分钟”,“秒”变量以使读者更清楚的任何建议?
def rotating(add_amount):
答案 0 :(得分:0)
使用取模而不是除法。一开始它们有点令人困惑,但它们确实非常出色。
def convert(seconds):
secs = seconds%60
mins = (seconds//60)%60
hrs = (seconds//3600)
return (secs,mins,hrs)
从代码优化的角度来看,我的代码总共执行四个算术运算,而您的代码则执行十次。另外,整个(Hours * 60)
有点难以理解。
并不是说您的代码不好,只是有点不清楚。尽管可读性很重要,但是您的代码却不那么难以理解。
答案 1 :(得分:0)
常量有助于提高可读性。还可以使用模数帮助:
SEC_PER_MIN = 60
SEC_PER_HOUR = SEC_PER_MIN * 60
secs = int(input("Seconds: "))
hours = secs // SEC_PER_HOUR
remaining_seconds = secs % SEC_PER_HOUR
mins = remaining_seconds // SEC_PER_MIN
remaining_seconds %= SEC_PER_MIN
print(f"{hours} Hours, {mins} Minutes, and {remaining_seconds} Seconds")
或者您可以滥用time
模块并使它处理所有逻辑:
import time
secs = int(input("Seconds: "))
result = time.strftime('%H Hours, %M Minutes, %S Seconds', time.gmtime(secs))
print(result)