我知道標(biāo)題令人困惑,我不知道如何解釋,所以這里有一個(gè)更好的解釋:我有一個(gè)文件,其中每一行的寫(xiě)法如下:一、二、三其中 a、b 和 c 是數(shù)字。在這里,數(shù)字 a 無(wú)關(guān)緊要。這里,b 應(yīng)該是某種坐標(biāo),c 是一個(gè)組號(hào)。對(duì)于每個(gè) c,我需要找到該組所做的每種動(dòng)作的計(jì)數(shù)。例如,假設(shè)我的文件是這樣的:23,20,78925,7,78929,7,78932,20,7890,2,8703,40,870所以我需要計(jì)算 789 組從 1 到 1、1 到 2、...、7 到 7、... 20 到 7、20 到 8、... 等等,直到 117 到 117 移動(dòng)了多少次. 并為每個(gè)組執(zhí)行此操作。當(dāng)然,會(huì)有很多零是可以的。所以例如在這里我應(yīng)該找到:對(duì)于 789 組:1 從 20 到 7,1 從 7 到 7,1 從 7 到 20,0 移動(dòng)所有其他組合的運(yùn)動(dòng)。對(duì)于 870 組:1 從 2 移動(dòng)到 40 和 0 為所有其他組合移動(dòng)。我希望很清楚。我知道我應(yīng)該放我開(kāi)始做的事情,但那是我的問(wèn)題。我真的不知道從哪里開(kāi)始。我的意思是我知道如何計(jì)算一個(gè)數(shù)字或一個(gè)字符串在文本中出現(xiàn)的次數(shù),但要計(jì)算變化,尤其是按組計(jì)算,我不知道從哪里開(kāi)始。我希望你至少可以幫助我開(kāi)始。謝謝編輯:感謝@Tojrah,這就是我現(xiàn)在所擁有的f1=open("My_file_where_the_coordinates_for_one_group_are_all_in_one_line.txt","r")f2=open("File_of_counts.txt","a")line=f1.readline()s=line.split()count=0for i in range (0,len(s)-1): for j in range (1,len(s)-1): if s[j]==s[i] and s[j+1]==s[i+1]: count+=1 f2.write("from {} to {} , result= {}\n".format(s[i], s[i+1], count)) count=0f1.close()f2.close()但你肯定能猜到,這里是部分顯示的結(jié)果:from 20 to 7 , result= 5from 7 to 7 , result= 9from 7 to 20 , result= 6from 20 to 20 , result= 28242from 20 to 20 , result= 28242from 20 to 20 , result= 28242from 20 to 20 , result= 28242您可以看到計(jì)數(shù)很好,但它多次計(jì)算相同的動(dòng)作。如何阻止它計(jì)算已經(jīng)計(jì)算的動(dòng)作?編輯 2:以下是我對(duì) @Tojrah 的代碼所做的更改:for i in range (1,118):for j in range (1,118): count=0 for k in range (0, len(s)-1): if (str(i)==s[k] and str(j)==s[k+1]): count+=1 f.write("from {} to {} , result= {}\n".format(i, j, count)) count=0現(xiàn)在它工作得很好。
Python:統(tǒng)計(jì)數(shù)字變化的次數(shù)
慕桂英3389331
2021-12-09 15:40:25