擅长:python、mysql、java
<p>我肯定我可能错过了一些边缘案件,但你可以用这个一般的想法。你知道吗</p>
<pre><code>hours = ["midnight","one","two","three","four","five","six","seven","eight","nine","ten","eleven","noon","one","two","three","four","five","six","seven","eight","nine","ten","eleven"]
minutes = ["", "five", "ten", "quarter", "twenty", "twenty five", "half", "twenty five", "twenty", "quarter", "ten", "five"]
def time(h,m):
if m < 2 or m > 58:
return str(hours[h])
elif m <= 30:
return str(minutes[int(round(float(m)/5))]) + " past " + str(hours[h])
else:
return str([int(round(float(m)/5))]) + " to " + str(hours[h+1])
</code></pre>
<p>测试</p>
<pre><code>>>> time(7,5)
'five past seven'
>>> time(7,13)
'quarter past seven'
>>> time(12,15)
'quarter past noon'
>>> time(21,45)
'quarter to ten'
</code></pre>