我編寫了一個(gè)代碼來查找階乘,我使用了日志記錄模塊。搜索該網(wǎng)站后,我還沒有找到相關(guān)問題。這是我的代碼def factorial(n): logging.basicConfig(level=logging.DEBUG,format='%(asctime)s-%(levelname)s-%(message)s') logging.debug('Start of program') logging.debug('start of action (%s)'%(n)) total=1 for i in range(1,n+1): #print(i) total *=i print(total) logging.debug('i is '+str(i)+' total='+str(total)) logging.debug('End of factorial(%s) '%(n)) return totaldef main(): print(factorial(5)) logging.debug('End of program')if __name__=='__main__': import logging main()total 的輸出不是“它應(yīng)該是什么”logging.debug('i is '+str(i)+' total='+str(total))這是我運(yùn)行代碼時(shí)得到的2018-11-21 09:34:56,213-DEBUG-Start of program2018-11-21 09:34:56,213-DEBUG-start of action (5)12018-11-21 09:34:56,213-DEBUG-i is 1 total=122018-11-21 09:34:56,213-DEBUG-i is 2 total=262018-11-21 09:34:56,213-DEBUG-i is 3 total=6242018-11-21 09:34:56,213-DEBUG-i is 4 total=241202018-11-21 09:34:56,213-DEBUG-i is 5 total=1202018-11-21 09:34:56,213-DEBUG-End of factorial(5) 1202018-11-21 09:34:56,213-DEBUG-End of program這個(gè)問題看起來很長(zhǎng),但它應(yīng)該是非常簡(jiǎn)單的操作。
1 回答

臨摹微笑
TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊
這是一個(gè)猜測(cè),但看起來您的打印中存在競(jìng)爭(zhēng)條件。我實(shí)際上認(rèn)為日志記錄需要這種情況,但要檢查您可以嘗試以下操作:刪除打印語(yǔ)句并運(yùn)行程序。如果程序正確刪除調(diào)試并返回打印再次檢查。
可能的(顯然)競(jìng)爭(zhēng)條件是,雖然 logging.debug 沒有完成打印整行,但您的代碼現(xiàn)在執(zhí)行了打印語(yǔ)句。這就是為什么你有空行。
添加回答
舉報(bào)
0/150
提交
取消