python 超菜der資料分析師筆試

2021-10-04 21:30:19 字數 4293 閱讀 6318

今天透小菜參加了xx的資料分析實習生的筆試,

五道程式設計題目,還有兩道都沒來得及讀,前面三道通過率也沒達到百分之百。別問我為什麼這麼菜,我也不知道自己為啥子這麼菜,

現在來反思一下下,

首先,當然**練得不夠多是乙個原因,我發現我只會用for迴圈啊,過於菜了;

其次,在程式設計時候沒有形成框架,沒頭沒腦的開寫,下次試著先用注釋寫好思路,再加細完成每一步,考慮詳細的步驟吧;

還有,在第乙個題目case通過率67%的時候我還不滿足,調了半個小時調到80%,這個是時間浪費的讓我有點肝疼,這應該屬於筆試經驗不足,回頭多找些經驗貼在這。

有乙個很經典的問題是,當前時間是aa:bb,請問若干分鐘後是什麼時間?我們今天的問題是乙個相反的問題。

已知現在的時刻是星期x的yy:zz時刻,請問n分鐘前是週幾,時間是多少。

例如現在是週三,02:10,則200分鐘之前,應該是周二,22:50。

輸入含三行:

第一行乙個正整數x,表示今天是周x。(1<=x<=7)

第二行是乙個24小時制的時間表示,時和分均含前導0,例如,1時1分表示為01:01。保證時間格式是合法的。

第三行是乙個正整數n,表示要求的是n分鐘之前的時間。(1<=n<=10^9)

輸出:

包含乙個正整數,表示n分鐘之前是週幾, 空格後面輸出時間。

乙個24小時制的時間表示,時和分均含前導0,例如,1時1分表示為01:01。表示n分鐘之前的時刻。

樣例輸入3 02:10 200

樣例輸出2 22:50

改到最後自己也蒙了,不知道bug在哪,看到的大神能指點一下下:

n =

int(

input()

)#輸入星期幾

pretime =

str(

input()

) #輸入當前時間

hour =

int(pretime[0:

2]) #當前幾時

minu =

int(pretime[3:

5])#當前幾分

m =int

(input()

)#先從分鐘開始算

if m%

60<= minu:

minu -= m%

60else

: minu =60-

(m%60

- minu)

hour -=

1 #向小時借位

minu =

str(minu)

if minu>

9else

'0'+

str(minu)

#再計算小時

if(m//60)%24 <= hour:

hour -=

(m//60)%24

else

:

hour =24-

((m//60)%24- hour)

n = n-

1 #向星期借位

hour =

str(hour)

if hour>

9else

'0'+

str(hour)

#最後計算星期幾

n -= m//(60*24)

if n <=0:

n = n%

7time = hour+

':'+ minu

print

(n,time)

題目描述: 「我將帶頭衝鋒。」每乙個軍人如是說。

某部隊舉辦了一屆軍事運動會,其中有乙個團體馬拉松專案,有n名選手按順序從起跑線出發,並且記錄下他們到達終點的順序。在跑步過程中超越了其他人的選手要給予表彰。

受表彰的選手需要滿足的條件是,如果存在一名出發順序排在選手x之後的選手y先於x到達終點,則認為y超越了x。

對於每乙個選手,只要他超越了任意乙個人,就有資格受到表彰。請你計算出有多少人可以得到表彰。

輸入

輸入第一行僅包含乙個正整數n,表示選手數量。(1<=n<=10^5)

輸入第二行包含n個正整數,是乙個1-n的排列a,表示出發順序,a[i]表示第i個出發的選手的編號。

輸入第三行同樣包含乙個1-n的排列b,表示到達順序,b[i]表示第i個到達的選手的編號。

輸出

輸出僅包含乙個整數,表示得到表彰的人數。

樣例輸入 :

55 3 1 4 2

2 4 5 1 3

樣例輸出:

3

樣例解釋: 顯然除了5號和3號以外,其他人都可以受到表彰,因為他們均超越了3號。

也是上來沒頭沒腦寫一通,思路簡單到沒有,

就是逐個檢查a裡面第二個開始的元素,在b中的索引是否小於它之前的任何乙個。

不知道大家有沒有好的思路.

n =

int(

input()

)a =

list

(map

(int

,input()

.split()

))b =list

(map

(int

,input()

.split()

))count =

0for i in range(1

,n):

for j in range (i)

:if b.

index

(a[i]

)< b.

index

(a[j]):

print

(a[i]

) count+=

1break

print

(count)

作為乙個程式設計師,修bug(補漏洞)是一項基本的工作。當你剛剛完成乙個工作的時候,甲方說你的程式裡面有n個bug。

但是你已經很累了,你希望第一天修x個bug,第二天修[x/k]個bug,第三天修[x/k2]個bug,以此類推,第d天修[x/k^(d-1)]個bug,直到修不了bug為止。

[x]的意思是x向下取整。在k大於1的時候,總有一天會修不了乙個bug的。所以,你希望在這一天來臨之前,修完所有的bug。你要計算,你第一次至少要修多少個bug,即x的最小值為多少。

輸入

輸入包含一行兩個整數n , k 分別代表漏洞總數和題目中的引數k

輸出

輸出包含乙個數,即x的最小值

樣例輸入

10 3

樣例輸出 8

提示 範圍 1<=n<=10^9 , 2<=k<=10

樣例解釋: 第一天修8個bug,第二天修2個bug,從第三天開始修不了bug,總共修了10個,修完了所有的bug。

如果第一天只修7個bug,那麼第二天只能修2個bug,從第三天修不了bug,總共修了9個bug,不能完成目標,所以第一天至少修8個bug。

這個啊,在考試結束的時候我終於發現了錯在哪了,還沒來得及測試case

也是無敵傻瓜式思路:

n,k =

map(

int,

input()

.split()

)for x in range

(n//k,n):

sum = x

i =1while

(k**i)

<=x:

print

(k**i)

sum += x//(k**i)

print

(x,i,sum)

i+=1if sum >= n:

print

(x)break

菜雞的資料分析入門筆記

分析問題 匯入資料 簡單檢視資料 head 獲取資料規模 shape 了解資料條目及資訊 dtypes,info ps 注意null情況,如果存在可能需要處理。了解資料的特點 describe ps 分為數字資訊和描述資訊。自己亂起的名 單變數分析 univariate analysis ps 對於...

python資料分析

以網路爬蟲為例,網路爬蟲是乙個自動提取網頁的程式,爬蟲是搜尋引擎的第一步,也是最容易的一部。網頁搜尋,建立索引,查詢排序 用c c 效率高,速度塊,適合通用搜尋引擎做往往爬取。但是它的缺點也特別明顯 開發慢,寫起來又臭又長的。而python無論在資料分析還是在指令碼自動化編寫尚都是簡單,易學的。良好...

python資料分析

陣列間的算術運算 npwhere pandas的使用 np.random.rand 3,4 產生乙個3行4列的矩陣 0 1之間的 in 32 data1 1,2,3,4.0 in 34 arr1 np.array data1 in 35 arr1 out 35 array 1.2.3.4.in 37...