坑1:python的四捨五入函式round()給定的測試用例無法除錯成功。
原因:跟浮點數的精度有關。機器中浮點數不一定能精確表達,因為換算成一串1和0後可能是無限位數的,機器已經做出了截斷處理,如圖所示58.5期望輸出是59
解決:乙個自定義的四捨五入的函式berounding()
坑2:存在測試結果是部分正確時考慮是否為對輸出格式做了轉換,『9』轉換為『09』
解決:乙個時分秒不滿10自動補零的函式 bedoubledigit()
"""
tips:
1. round() rounding is incorrect, in some scanarios, when equal to 0.5, must to add a function
2. pay attention to the less than 10, you should add '0'
"""def berounding(number):
if str(number)[-1] == '5':
return(round(float(str(number)[:-1]+'6')))
else:
return (round(number))
def bedoubledigit(number1):
if(number1 < 10):
return '0' + str(int(number1))
else:
return int(number1)
number = input().split()
# print(number)
totalsecond = (int(number[1]) - int(number[0])) / 100
# print(totalsecond)
h = bedoubledigit(totalsecond // 3600)
# print(h)
m = bedoubledigit(( totalsecond - int(h) * 3600 ) // 60)
# print(m)
s = bedoubledigit(berounding(totalsecond - int(h) * 3600 - int(m) * 60))
print(str(h) + ':' + str(m) + ':' + str(s))
1026 程式執行時間
要獲得乙個c語言程式的執行時間,常用的方法是呼叫標頭檔案time.h,其中提供了clock 函式,可以捕捉從程式開始執行到clock 被呼叫時所耗費的時間。這個時間單位是clock tick,即 時鐘打點 同時還有乙個常數clk tck,給出了機器時鐘每秒所走的時鐘打點數。於是為了獲得乙個函式f的執...
1026 程式執行時間
要獲得乙個c語言程式的執行時間,常用的方法是呼叫標頭檔案time.h,其中提供了clock 函式,可以捕捉從程式開始執行到clock 被呼叫時所耗費的時間。這個時間單位是clock tick,即 時鐘打點 同時還有乙個常數clk tck,給出了機器時鐘每秒所走的時鐘打點數。於是為了獲得乙個函式f的執...
1026 程式執行時間
時間限制 200 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 要獲得乙個c語言程式的執行時間,常用的方法是呼叫標頭檔案time.h,其中提供了clock 函式,可以捕捉從程式開始執行到clock 被呼叫時所耗費的時間。這個時間單位是...