理解艾伦·唐尼的“思考Python”第5.14节练习1
此练习的链接可在此处访问- 引述问题: 练习1 编写一个脚本,读取当前时间并将其转换为一天中的时间,单位为小时、分钟和秒,加上自纪元以来的天数 此处提供了一种可能的解决方案- 上面提供的解决方案似乎很容易理解,但我对将历元时间转换为一天中的正常时间的计算/公式感到困惑。这几句话最让我困惑:理解艾伦·唐尼的“思考Python”第5.14节练习1,python,Python,此练习的链接可在此处访问- 引述问题: 练习1 编写一个脚本,读取当前时间并将其转换为一天中的时间,单位为小时、分钟和秒,加上自纪元以来的天数 此处提供了一种可能的解决方案- 上面提供的解决方案似乎很容易理解,但我对将历元时间转换为一天中的正常时间的计算/公式感到困惑。这几句话最让我困惑: hours = (epoch % seconds_in_a_day) // seconds_in_an_hour + 8 minutes = (epoch % seconds_in_a_day) % sec
hours = (epoch % seconds_in_a_day) // seconds_in_an_hour + 8
minutes = (epoch % seconds_in_a_day) % seconds_in_an_hour // seconds_in_a_minute
seconds = (epoch % seconds_in_a_day) % seconds_in_an_hour % seconds_in_a_minute
我的问题是,为什么从epoch开始的一天中除以秒的余数除以一小时中的秒,然后将结果加上8。我对分钟和秒变量也有类似的混淆。我试图理解这种计算背后的逻辑,但它相当混乱。因为历元总共是秒,所以我们只想观察今天经过的秒数。这给出了每个公式的第一部分,epoch%seconds 现在我们有一个已经过去的秒数,我们可以用它除以一小时内的秒数得到小时数。因为北京的时区是UTC+8,所以这里将8添加到结果中 因为我们在一天中也有几秒钟,所以我们在几小时和几秒钟内重复使用了几天的逻辑。如果我们知道从今天开始已经过去了n秒,我们可以将这段时间除以一个小时内的秒数,得到最后一个非完整小时内已经过去的秒数。现在我们把它除以一分钟内的秒,把秒变成分钟
同样的逻辑也适用于秒。因为历元总共是秒,所以我们只想观察今天经过的秒数。这给出了每个公式的第一部分,epoch%seconds 现在我们有一个已经过去的秒数,我们可以用它除以一小时内的秒数得到小时数。因为北京的时区是UTC+8,所以这里将8添加到结果中 因为我们在一天中也有几秒钟,所以我们在几小时和几秒钟内重复使用了几天的逻辑。如果我们知道从今天开始已经过去了n秒,我们可以将这段时间除以一个小时内的秒数,得到最后一个非完整小时内已经过去的秒数。现在我们把它除以一分钟内的秒,把秒变成分钟
同样的逻辑也适用于秒。我也一直在努力学习一些python编码,今天我遇到了这个问题。这是我的尝试
total_secs = time.time()
seconds = total_secs % 60
minutes = (total_secs // 60) % 60
hours = (total_secs // 3600) % 24
days = total_secs // (3600 * 24)
这背后的逻辑是,秒是总秒数的剩余部分除以一分钟内的秒数,分钟是总分钟数的剩余部分除以一小时内的分钟数,通过这种逻辑,我们可以以相同的方式得到小时和天数
代码更易于阅读和理解,希望它能为阅读本文的未来python初学者消除一些困惑。我也一直在努力学习一些python编码,今天我遇到了这个问题。这是我的尝试
total_secs = time.time()
seconds = total_secs % 60
minutes = (total_secs // 60) % 60
hours = (total_secs // 3600) % 24
days = total_secs // (3600 * 24)
这背后的逻辑是,秒是总秒数的剩余部分除以一分钟内的秒数,分钟是总分钟数的剩余部分除以一小时内的分钟数,通过这种逻辑,我们可以以相同的方式得到小时和天数
代码更易于阅读和理解,希望它能为阅读本文的未来python初学者消除一些困惑。Nice!这解释了很多,澄清了很多疑问。很好!这解释了很多,澄清了很多疑问。