統計的乙個小題目python實現

2021-09-09 01:33:14 字數 1018 閱讀 9521

最近面試碰到的乙個題目,業餘時間用python實現的。

拿到資料,先用sort 命令排序,也可再進一步去重複

sort -k 1,2  data.txt |uniq  > data.new

1

#-*- coding:utf-8 -*-23

#第乙個欄位是使用者uid,第二個欄位是商品tid,統計每個商品的使用者購買數量

4import

sys5

6 pre_tid=""

7 pre_uid=""

8 sum=0

9for line in

sys.stdin:

10 fields = line.strip().split('

\t') #

注意這裡要加上strip()去除"\n"

11 uid =fields[0]

12 tid = fields[1]

13if tid!=pre_tid:

14if sum!=0: #

讀取第一行時,不要列印

15print pre_tid+"

\t"+str(sum) #

類別改變就把上乙個類別輸出

16 pre_uid=""

17 pre_tid =tid

18 sum=1 #

初始化計數器

19else:20

if(uid==pre_uid): #

如果有兩條完全重複的資料不計入

21continue

22else

:23 sum=sum+1

24 pre_uid=uid

2526

print pre_tid+"

\t"+str(sum)#

列印最後乙個類別

乙個小題目

看到一道題目,自己嘗試了一下 編寫乙個在1,2,9 順序不能變 數字之間插入 或 或什麼都不插入,使得計算結果總是100的程式,並輸出所有的可能性。例如 1 2 34 5 67 8 9 100.首先要考慮所有的可能性,每兩個數字間有3種可能,一共有3的8次方種可能。這樣就能通過遍歷實現。void v...

原型的乙個小題目

題目要求 建立乙個shape物件,該物件有乙個type屬性和gettype 方法 定義乙個原型為shape的 建構函式,用 建立的物件應有三個物件屬性 a b c,分別用於表示三角形的三條邊 在物件原型中新增乙個名為getperimeter 的新方法,用下面的 來進行測試 var t new 1,2...

乙個C 小題目引出的問題

題目 第一眼肯定是覺得小意思,隨便寫個 int add int a,int b 這種寫法有很明顯的缺陷,引數傳進來會複製乙份,然而我們可以優化一下,例如說指標?int add int a,int b 在c 有更好的方法,例如引用,呼叫時就不需要書寫 號了 int add int a,int b 有可...