2 回答

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊
正在打印換行符。請注意,在語句 4 和 5 之間有一條額外的線。您的線程之間可能存在競爭條件。嘗試print用鎖保護(hù)函數(shù)。IE,
printLock = threading.Lock() # global variable
進(jìn)而
# inside threading_function
with printLock:
print(
"The mean value of the list number " + str(list_index + 1) + " is " + str(mean_value) +
"\nThe time taken to find it was " + str(end) + " seconds.\n" # The abovementioned newline.
)

TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個(gè)贊
字符串中的換行符完好無損。print
默認(rèn)情況下會(huì)在之后添加一個(gè)換行符。它在單獨(dú)的寫入中執(zhí)行此操作。來自不同線程的兩次寫入(原始字符串和換行符)可以交錯(cuò),因此有時(shí)您還會(huì)看到雙空行。如果從字符串中刪除換行符,您會(huì)看到類似的奇怪效果。
一種解決方案是在兩個(gè)換行符中結(jié)束您的字符串并停止print
添加自己的字符串,即print("....\n\n", end="")
.
添加回答
舉報(bào)